Es duerfen Vorschlaege gemacht werden .. :-) (Puma, 18. Nov 1994, 16:59:28):
Fernwest LEBT!

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



Na? (Cerebus, 15. Feb 1995, 16:39:47):
Na?
Kommt hier mal eine Nachricht rein? Wie lange dauert es denn noch, bis
Fernwest bereisbar, erkundbar und pluenderbar :) ist?

Cerebus

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



Re: Na? (Puma, 15. Feb 1995, 19:59:31):
#! rn=Cerebus rt=792862787

An Cerebus und alle Anderen, die eventuell auf Fernwest warten:
Momentan koennen wir leider keinerlei Zeitversprechungen machen.

Unter der ruhigen Oberflaeche brodelt es jedoch mittlerweile gewaltig, und
zahlreiche Aktivitaeten sind momentan in Vorbereitung.
Die Gestaltung einer kompletten Region erfordert jedoch erheblich mehr Zeit-
und Programmieraufwand, als eine normale Queste.
Die Region soll immerhin so universell und gross werden, dass sich auch
spaeter noch neu hinzukommende Magier hier austoben koennen und Platz fuer die
Verwirklichung ihrer Ideen finden.
Gleichzeitig wollen wir auf jegliche Art der Paste'n'Copy-Raumbeschreibungen
'moeglichst' verzichten, um die Atmosphaere weitestgehend zu erhalten.

Diese beiden Probleme versuchen wir gerade unter einen Hut zu bekommen.

Bis dahin ist noch ein weiter Weg, aber wo ein Weg ist, ist auch ein Ziel.
Und manchmal ist auch der Weg das Ziel. :-)


PuMa, erster Sekretaer der Region Fernwest



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



Re: Na? (Li, 16. Feb 1995, 08:30:36):
#! rn=Cerebus rt=792862787
Nur Geduld, lieber Cerebus!
Bis jetzt arbeiteten alle Fernwestmagier noch an anderen Projekten, aber nun
schreiten wir mit kleinen Schritten schnell voran.
Ausserdem moechtest du doch bestimmt, schoen reisen, erkunden, und pluendern,
oder?
(Ich erinnere an einen Wald, in dem es keine Baeume gab)
Und noch was:
**ironie on**
Fernwest war bis jetzt eine kleine friedliche Region, in der die Lebewesen in
Frieden und Harmonie miteinander lebten(Naja!?).
Jetzt aber, wo sie gehoert haben, dass Fernwest eine verbindung mit dem
morgengrauen bekommen soll, ist das Wehklagen hier so laut, dass man sein
eigenes Wort kaum novh verstehen kann. Ich hoere nur noch: Die Barbaren
kommen! Rettet Euch vor den Barbaren!
**ironie off*

Also, Cerberus und alle anderen Spieler, wir bitten um etwas Geduld.
Li

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



Neulich, in Xian (Li, 16. Mar 1995, 13:12:58):

Neulich, auf dem Marktplatz von Xian, der kleinen Stadt im aeussersten
Osten von Fernwest. Anwesende Personen: An Hua(Dolmetscherin), Pau Meng
(Tempelvorsteher), ein Bettler, Han Tso (Schmied), Lu Bing
(Gildenmeisterin der Shukenja), Todamori Yoshi(Waffenhaendler), Meister
Li (Magier)

Meister Li:"Also was sagt ihr zu dem Vorschlag?"
An Hua: "Also ich bin dafuer, ich habe einige von ihnen kennengelernt,
        "und ich finde, sie sind gar nicht so schlimm!"
Pau Meng: "Ja, das kann ich mir vorstellen, schliesslich wart Ihr ja "
          "auch schon in den Barbarenlaendern. Ihr seid bestimmt schon"
          "genauso verdorben wie sie."
Lu Bing: "Vergesst nicht, auch Meister Li ist einer von ihnen!"
Meister Li grinst Lu Bing an.
Pau Meng: "Das ist etwas anderes, Meister Li ist eine Ausnahme!"
Lu Bing: "Aha, vieleicht sind ja alle Fremden, die sich die Muehe "
         "machen, hierherzukommen, Ausnahmen?"
Der Bettler mischt sich ein: "Vieleicht sind die Fremden ja"
                             "grosszuegiger als Sie alle zusammen."
Der Bettler schaut hoffnungsvoll zu Meister Li.
Meister Li wiegt bedaechtig den Kopf.
Meister Li sagt: "Das kann man so generell nicht sagen. Einige sind"
                 "recht grosszuegig, andere muessen sparen, und es"
                 "gibt sicherlich auch Geizhaelse unter ihnen."
Han Tso: "Also hat der erwuerdige Pau Meng doch recht!"
Han Tso verbeugt sich vor Pau Meng.
Pau Meng verbeugt sich von Han Tso.
Tadamori Yoshi sagt: "Also ich bin auf jeden Fall dafuer, dass sie"
                     "kommen!"
Pau Meng wirft Tadamori Yoshi einen boesen Blick zu.
Pau Meng sagt: "Das glaube ich gerne, wenn hier eine Horde Barbaren "
               "einfaellt,dass Ihr als Waffenhaendler gute Geschaefte "
               "machen werdet!"
Tadamori Yoshi grinst verlegen.
Lu Bing sagt: "Aber stellen Sie sich doch mal vor: Kung Ho, hinterste"
              "Provinz des ewigen Reiches wird ploetzlich zum Mittelpunkt."
              "Die Fremden bringen doch auch Handelswaren mit, die wir "
              "nicht kennen, und sehr teuer weiterverkaufen koennen!"
Tadamori Yoshi nickt.
Der Bettler nickt.
Pau Meng grummelt.
An Hua nickt.
Han Tso sagt: "Genau."
Meister Li sagt: "Und vergesst nicht, dort gibt es nicht nur Menschen"
                 "wie hier sondern auch Elfen und Zwerge, der"
                 "Kulturaustausch wird um so Groesser."
Tausende kleine Lichtpunkte setzen sich zu Puma zusammen.
Meister Li: "Ni hau, Puma!"
Puma! sagt: "Hallu!"
Puma! sagt: "Ich habe schon einen Weg gefunden, der relativ ungefaehrlich"
            "fuer die Karawane waere."
An Hua sagt: "Seht ihr, auch das Problem waere geloest. Ein viel wichtigeres"
             "Problem ist doch das NICHTS, dass die ganze Welt bedroht,
oder?"
Meister Li nickt.
Puma! nickt traurig.
Lu Bing sagt: "Ich denke, wenn wir das NICHTS ueberstehen, koennt Ihr Magier"
              "davon ausgehen, dass die Mehrheit der Einwohner von Kung Ho"
              "fuer die Karawane stimmen werden."
Lu Bing laechelt Meister Li an.
Meister Li erroetet.




Soweit dieser kurze Bericht aus Fernwest, und die Schwierigkeiten, die die
Magier dort haben. aber keine Angst: Wie Lu Bing sagte: Wenn das MG das
NICHTS uebersteht, wird auch Fernwest kommen.
Li

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



Re: Neulich, in Xian (Baron,  3. Apr 1995, 12:40:13):
#! rn=Li rt=795355978
Das MG hat ueberlebt! Los mach endlich Fernwest fertig Li :)!!!!
Baron (neugierig)

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



Neues aus Fernwest (Ulo,  1. Jul 1995, 10:14:27):

  Da im Land ein gewisses Interesse an Nachrichten aus den fernen Westen
besteht, sollt ich Euch wohl von folgendem erzaehlen:


  Neulich berichtete mir ein Reisender von einer Begegnung im Land im fernen
Westen. Dort sei ihm ein Fremder, der aber offensichtlich aus diesem Teil
der MorgenGrauens stammte, begegnet, der ihn gebeten habe, die Kunde von
seinem Schicksal in die alte Heimat zu tragen:

  'Oh Wanderer, kommst Du einst nach Port Vain, so berichte dort von unserem
Schicksal. Wir, einstmals tapfere Krieger, sind hier dem Zauber des Landes
verfallen, und koennen uns nicht mehr loesen. Das Land und die Leute haben
es mir und meinen Maennern angetan. Ob es nun die fremdartigen und
verwirrenden Gerueche sind, oder die anregenden Tees, oder vielleicht
auch die Annehmlichkeiten, die uns hier festhalten, vermag ich nicht mehr
zu unterscheiden. Ich weiss nur, dass ich tief in meiner Seele eine
Zufriedenheit verspuere, wie sonst nirgends vorher.
  Mag es auch meiner Familie gegenueber unverantwortlich sein, so muss ich
dennoch der Stimme meines Herzens folgen und hier bleiben. Es ist nun an Dir,
Fremder, die Kunde von unserem Schicksal weiterzutragen.'

  Der Fremde erzaehlte ihm noch weitere Einzelheiten aus seinem Leben, die
er mir gar nicht in allen Einzelheiten weitergeben wollte, teils auch aus
Diskretion ....

  Aus den Worten des Reisenden konnte ich Verstaendnis fuer die Entscheidung
des Fremden heraushoeren, und als er erwaehnte, nach Fernwest zurueckkehren
zu wollen, war mir klar, das die das letzte mal sein wird, dass er mit der
grossen Karawane gen Westen zieht.

  Auch wenn noch einiges Wasser den Tian Wen Tai hinabfliessen wird, bevor
die grosse Welle der Barbaren das Land ueberfluten wird, so ist es schon
jetzt sicher, dass denen, die den unbaendigen Drang nach der Aufklaerung
seltsamer Begebenheiten verspueren, sich der Raetsel viele in den Weg
stellen werden. Denen, die mehr dem Ruf des Blutes folgen, soll auch der
Durst gestillt werden. Der Weg in den fernen Westen wird sich lohnen.

  So denn der unsterbliche Bettler die Zeit fuer gekommen haelt, wird er
den Bannspruch entkraeften, der bis dahin das Land im fernen Westen vor
Wellen von Barbaren bewahrt.
  Moeget Ihr Euch bis dahin in Geduld ueben, und noch in den Armen Eurer
Familien erfreuen, denn wenn Ihr erst einmal in Ferwest sein werdet, ...

Auf Wiedersehn in Fernwest!
Ulo.


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



Re: Neues aus Fernwest (Baron,  2. Jul 1995, 08:43:44):
#! rn=Ulo rt=804586467
Jau, Ulo, ein wenig Wasser wird noch den Tain Wen Tai herunterfliessen. Aber
nicht mehr sehr viel :))!
(Red) Baron, freut sich schon drauf!

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



Re: Re: Neues aus Fernwest (Silvana,  2. Jul 1995, 11:44:20):
#! rn=Baron rt=804667424
Tja... So lang ich nicht den Westweg fertig habe... (Jaja - ich schreib ja
schon!) ;)
Silvana

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



Re^3: Neues aus Fernwest (Dancer,  2. Jul 1995, 14:44:16):
#! rn=Silvana rt=804678260
Ts! Da haben se schon nur einen einzigen Weg und nichtmal den kriegen
sie zusammen ;-)

Frech grinsend,

Dancer


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



Re^4: Neues aus Fernwest (Silvana,  2. Jul 1995, 14:48:59):
#! rn=Dancer rt=804689056
Ich hab eben mal nahgesehen: Mein Wald-File (und das ist NUR der Westweg)
ist um etwa 20% laenger als Troys gesammte Hexerquest - also halt Dich
zurueck, Du verunglueckter Fernwestler. ;)
Silvana - frech einen Tiger kraulend

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



Re^5: Neues aus Fernwest (Dancer,  2. Jul 1995, 14:52:29):
#! rn=Silvana rt=804689339
Uh oh..wenn Du den Westweg mit Troys Hexerquest vergleichst, dann werden
die armen Spieler sicherlich versehentlich in Atlantis rauskommen oder
auf Hilberts Balkon....:)

Sich frech grinsend kraulen lassend

Dancer


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



Re^425: SCHWUPPDIWUPP! (Li,  3. Jul 1995, 08:57:21):
#! rn=Asmodis rt=804552414
sag was soll dass denn? Natuerlich wird fernwest fertig, und zwar bald!
Aber ihr wollt doch nicht nur zwei oder drei raeume, oder? also, habt noch
etwas Geduld oder werdet Magier und schreibt mit (obwohl dieser Appell an
Asmodis eh' nutzlos ist, oder? :-) ) (ich meinte natuerlich den mit dem magier
werden)

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



Re^4: Neues aus Fernwest (Silvana,  5. Jul 1995, 07:45:51):
#! rn=Dancer rt=804689056
*grins*
Nicht fertig? Was soll das heissen? Ist doch fertig. ;)
Silvana - knapp 80 Raeume unterm Arm. ;)

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



Hurra! (Li, 17. Jul 1995, 12:04:09):
Ni Hao!
Nach langer Wartezeit ist es nun endlich soweit: Fernwest oeffnet seine Tore.
Leider ist der zugaengliche Teil noch sehr klein, da ein schrecklicher Taifun
viele Wege unpassierbar gemacht hat. Die Fernwestmagier werden sich
natuerlich
bemuehen, euch so bald wie moeglich mehr von Fernwest zugaenglich zu machen.
Im Moment ist es nur moeglich, den aussersten Zipfel Fernwests zu besuchen.
Wer nach Fernwest kommen moechte: Die Karawane startet am Westweg im Wald,
ein
Gebiet dass ebenfalls neu ist.
Nun noch etwas zur Karawane: Sie loest sich am Endpunkt ihrer Reise auf, und
wird dann neu fuer die andere Richtung zusammengestellt. Es kann also sein,
dass man sich der Karawane anschliesst und kurze Zeit spaeter wieder am
Sammelpunkt steht. Keine Angst, nach einer kurzen Wartezeit wird die Karawane
neu zusammengestellt, und wenn man sich dieser anschliesst, wird man auch
befoerdert. Das Erwerben einer Einreisegenehmigung kann nur empfohlen werden!

Uebrigens ist in diesem Zusammenhang auch das Karate-Dojo nach Xian
umgezogen.

und nun viel Spass in einer hooffentlich fremden Gegend.

Zaijian, im Namen aller Fernwestmitarbeiter
Li

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



Re: Hurra! (Asmodina, 17. Jul 1995, 16:09:01):
#! rn=Li rt=805975449
Ein bisschen Erklaerung tut vielleicht Not, was hat es mit dieser
komischen Sprache auf sich und wo lernt man sie, z.b. ??

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



Re: Re: Hurra! (Anakin, 17. Jul 1995, 16:38:49):
#! rn=Asmodina rt=805990141
Schau Dich mal in Xian um :)

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



Karawane und Fernwest (Tomaso, 17. Jul 1995, 19:16:35):
Schoene Sache mit Fernwest (im Prinzip) auch die Idee mit der Karawane ist
nett, aber ich
ich moechte doch mal ein paar Sachen anmerken:
1.) Mir ist es gerade 2 mal passiert, dass ich ein Ticket gekauft habe,
steige auf die karawane und flieg wieder runter.
Ich steige wieder auf, die karawane zieht weiter und ich werde von den
raeubern angegriffen.
Ausserdem warte ich nun beim 3.Mal seit ca. 10 Minuten auf die Karawane, nix
passiert.
ABuf oder Feature?
All das waere ja noch auszuhalten, wenn es sich um eine normale Region
handeln wuerde. Aber die Region, in der die
Karategilde liegt, die man doch oefters mal aufsuchen muss, so schwer
erreichbar zu machen, finde ich unfair.
entweder die Gilde woanders hin oder noch einen Weg nach fernwest ohne
Karawane.
Tomaso

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



nachtrag zur Karawane (Tomaso, 17. Jul 1995, 19:28:10):
Nach 15 minuetugem Warten bin ich gerade schon wieder runtergeschmissen
worden, wenn das ein Trick sein soll, um den Fahrpreis zu verdoppeln, schick
ich mal jemanden vorbei, der diese Wucherer killt.

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



Re: Karawane und Fernwest (Lwaxana, 17. Jul 1995, 20:30:51):
#! rn=Tomaso rt=806001395
Ja Tomaso so gings mir auch, mich haben sie auch zweimal rausgeschmissen (mit
ticket) und ohne konnte ich draufbleiden...

Mir macht das nicht viel aus, dass fernwest schwer zuerreichen ist, weil ich
mein Sehertor habe, aber mein armer McCoy ist erst Level 19 und muss auch mit
der Karawane hin :)

Ist jetzt ueberhaupt noch verstaendlich was ich sagen wollte? Wahrscheinlich
nicht, mein Schirm scrollt mir weg :)
Ich wollte sagen, dass ich es nicht so gut finde, wenn Nichtseher Probleme
haben ihre Gilde aufzusuchen...

Tschau Lwax


PS Fernwest gefaellt mir!

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



Re: Karawane und Fernwest (Baron, 17. Jul 1995, 22:19:33):
#! rn=Tomaso rt=806001395
Hi :),
Also, erstmal denke ich das (natuerlich) eine KARATEgilde nach Fernwest
gehoert, wohin sonst :)? Zweitens freue ich mich riesig ueber die (bislang
zumeist) positive Resonanz die unsere Arbeit bei Euch hervorruft und drittens
wird Fernwest (hoffentlich) bald auch fuer (Noch)Nicht-Seher leichter zu
ereichen sein. Vielleicht entdeckt ja bald ein mutiger Kapitaen einen Seeweg?
Wer weiss das schon :).
Wie sagt Cat* immer so schoen:
Trouly Yours,
Baron - isst gerade Pizza, keine Pekingente.

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



Re: nachtrag zur Karawane (Li, 18. Jul 1995, 09:51:27):
#! rn=Tomaso rt=806002090
Wer meinen Eroeffnungsartikel gelesen hat, sollte wissen, dass man aus einer
KArawane die grade angekommen ist, rausgeschmissen wird, weil die sich
aufloest. Das dadurch der Fahrpreis verfaellt ist ein Bug und wird geaendert.
Vieleicht kommt aber mal einer auf die Idee, in die Karawane einzusteigen,
die dann auch loszieht?
nun, wie gesagt, Das Verfallen des Fahrpreises wird gefixed.
Li

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



WWW (Li, 18. Jul 1995, 09:53:46):
Hallo!
Es gibt jetzt auch WWW-Seiten zu der Region Fernwest.
Klein und schnuckelig wie die Region selber.
Li

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



Geschichtenerzaehlerin (Li, 18. Jul 1995, 12:52:46):
Nachdem hou Zai Tung, die Geschichtenerzaehlerin auf dem Markt von Xian
anfaenglich etwas schuechtern war und nicht mit ihren Geschichten raus wollte,
liess sie sich nun ueberzeugen, doch ihr Koennen zum Besten zu geben...
tm sly ep gegen LP? Das bringt doch ncihts!

mist, man sollte bein schreiben keine teile mits versuchen, naja

Li

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



Dojo in Fernwest (Yendi, 18. Jul 1995, 13:59:18):

Erstens gehoert das Karatedojo selbstverstaendlich nach Fernwest, und
zweitens erhoeht die Abgeschiedenheit dieser Gilde nur noch ihre Elitaeritaet
... aeh ... Elitaerheit? Elitaerigkeit? Elitaerizitaet?   Ach, egal...

"The Proud, the Few, the -- Karateka!"

Funakoshi for President!


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



chilana.. (Catweazle, 19. Jul 1995, 18:11:04):
[Verlegt von entwicklung, Fyt, 18. Jul 1995, 04:58:40]:

Schoene Quest :)

Fyt.



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



Re: chilana.. (Catweazle, 19. Jul 1995, 18:11:27):
#! rn=Fyt rt=806036320
[Verlegt von entwicklung, Silvana, 18. Jul 1995, 10:20:31]:
Danke!
Silvana (gluecklich ueber so viel Lob, aber um Caradhras trauernd)


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



Go-Gilde (Tomaso, 20. Jul 1995, 05:14:00):
Also ich von meiner Warte auss muss ulo ein Riesenkompliment machen, fuer die
gelungene Go-Gilde.
Insbesondere das meditieren ist eine Riesenidee, Super Ulo, weiter so.
Und die Wartesperre ist auch o.k., schliesslich ist das ein Clubhaus und kein
Schnellimbiss.

Isno, wartet gespannt auf ULO's neue Ideen.

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



Bug oder Feature (Tomaso, 20. Jul 1995, 21:15:20):
folgendes passierte mir heute abend:
Die Karawane erreicht den Sammelplatz am Rande des Waldes.
Der Karawanenfuehrer gibt das Zeichen zur Abfahrt.
vk
[Allgemein:Bendeigid moechte auch ein "s" ;-)]
Die Karawane erreicht den Sammelplatz am Rande der Steppe.
vk ist uebrigens mein aloas fuer verlasse Karawane. Das die so schnell
faehrt, dass man keine Zeit mehr zum Aussteigen hat, ueberascht mich dann
doch.

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



Re: chilana.. (Silvana, 24. Jul 1995, 07:22:13):
#! rn=Catweazle rt=806170264
Aber Cat*!
Was bei Jof hat das HIER verloren?
Chilanas Lebenselixier ist ein WALDquest! WALD, hoerst Du? Das ist dieses
gruene Stueck wundervollsten Morgengrauens, dass Euch vertrockneten
Sandkastenrockern schon immer nen Zahnstocher im Auge war. ;)
Verlegt der das einfach nach Fernwest - ich fasse es nicht...
Silvana - entruestet.

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



Bugs bei Konfusius! (Caradhras, 25. Jul 1995, 04:20:08):
                         Hallo!

Heute gab es mehrere ernsthafte Probleme bei Konfusius:

Zum ersten ist Tasha an einem unsichtbaren Dieb gestorben, den sie
gar nicht angegriffen hatte (ich habe es im nachhinein mitloggen
lassen)
Zweitens griff Zephyr mit einem toete alle auch Tasha an und brachte
sie mit einem Feuerball um, als Moerder wurde aber der Koenig der
Diebe ausgegeben.
Drittens gibt es keine Moeglichkeit die Schriftrolle vom Koenig der
Diebe zu bekommen wenn im vorherigen Reset ein anderer die Quest
schon gespielt hat und der (unsichtbare) Koenig nicht da ist.
Viertens ist der Koenig der Diebe ueber sehe nicht zu sehen gewesen,
dafuer aber ueber knuddle alle.

Ne Menge bugs noch drin, wieso wurde die so ueberhaupt reingenommen?
Na ja, als Tester uebersieht man ja auch ab und zu grobe Bugs, aber
wie waer es wenn sich jemand bei der grummelnden Tasha entschuldigen
wuerde und sich mal um eine Entschaedigung kuemmert? So kann man
Quests auf alle Faelle nicht drinlassen.

Da ich nicht weiss an wen das ganze zu schicken ist kriegt Boing
erstmal das ganze sowie Li als RM und Silvana als RM Wald und Shinobi
als Quest-Programmierer.

            Und tschuess             Caradhras

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



Re: Bugs bei Konfusius! (Boing, 25. Jul 1995, 09:57:46):
#! rn=Caradhras rt=806638808
Wie waere es, wenn Du Dich zuerst mal bei Shinobi erkundigen wuerdest, ob
hier tatsaechlich ein bug vorliegt? Wie waere es ausserdem, wenn Du mal LESEN
wuerdest, was so fuer Meldungen auf den Bildschirm kommen, das mit dem
unsichtbaren Dieb hat naemlich durchaus seine Richtigkeit.
Und inzwischen hab ich schon SO viele logfiles mit 'bugs' von Dir
erhalten ... glaubst Du, Du kommst jedes mal damit durch?
  Boing

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



Re: Re: Bugs bei Konfusius! (Silvana, 26. Jul 1995, 07:50:33):
#! rn=Boing rt=806659066
Na, na, nu grummel mal nicht gleich, Boing. ;)
Aaaalso: Das was Caradhras da alles geschrieben hat, ist soweit richtig
(aber unvollstaendig) beobachtet und das Log sieht auch so aus, wie es
sollte. Das einzige, was daran NICHT stimmt, ist, dass Tasha den Dieb-
Koenig offenbar gar nicht angegriffen hat - und den Bug (fuer den
Shinobi nicht mal was kann...) hab ich jetzt behoben.
Das also Zephyr den Diebkoenig angegriffen hat und dabei Tasha getroffen
hat ist korrekt und Absicht. Man sollte wirklich GENAU lesen, was einem
so ueber den Bildschirm scrollt.

  Silvana

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



Re^3: Bugs bei Konfusius! (Cuchullin, 26. Jul 1995, 14:19:04):
#! rn=Silvana rt=806737833


Hi Silvana, Boing, Shinobi, Fernwestteam usw...

Sind die Resets des Koenigs der Diebe und der Samurais wenigstens
gleichgeschaltet? Ansonsten ist es wirklich doof, da der Koenig im Init (oder
sonstwie, halt direkt beim Reinkommen - wenn man den Samus geholfen hat) kurz
und schmerzlos stirbt. Wenn er da ist.
Wenn er (noch) nicht da ist, natuerlich und naemlich nicht. Und Gegrummel
hin, Gemecker her - sonderlich geschickt waere das nicht geproggt, oder?

Ich behaupte nicht, Wahrheit zu verkuenden, ich verkuende Meinung.

Als erster die Quest gemacht, alleine,
- Cuch

PS: Hmm... wenn keine Samurais da sind - woher weiss der Quester, dass da
welche sein muessten? *gruebel*


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



Re^4: Bugs bei Konfusius! (Caradhras, 28. Jul 1995, 16:42:04):
#! rn=Cuchullin rt=806761144
Ich werd mal mit Shinobi ueber die Quest reden, wenn/falls er mal
wieder kommt, schon 10 tage war er nicht mehr da. Auch ohne diesen
Bug (von dem ich ja nicht wissen konnte ob es jetzt ein Fehler
Shinobis war als Nicht-Magier) kann die Quest meiner Meinung nach
nicht so bleiben. Und dass ich mir mit so einem Artikel nur Aerger ein-
handle, wusste ich vorher auch schon, denn ich hab mich ja nicht mal
fuer mich selbst eingesetzt, sondern fuer jemand anderes.
Ist halt Pech wenn man jemand was gutes tun will.

  Danke fuer das Beheben, Silvana, aber wenn die Quest so laeuft wie sie
  laufen muesste waere der bug gar nicht aufgetreten. :-)
  Aber wie gesagt laber ich dazu mal mit Shinobi.

    *winke winke*            Caradhras

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



Xian -Aenderungen (Li, 24. Aug 1995, 14:18:55):
Ni Hao,
Es gibt jetzt noch einige Aenderungen in Xian.
Zum ersten kann man iM Teehaus die Getraenke auch mit den "europaeischen"
Namen bestellen, also z.B. bestelle jasmintee (Sake bleibt uebrigens Sake:-) )

Deseweiteren sind einige NPCs in Fernwest zu Funakoshi in die Lehre gegangen.
es gibt also jetzt einige Karateka NPCs in Xian.
Es sind zwar nur wenige, aber keine Angst. mit der Erweiterung von Xian wird
es auch mehr Karateka NPcs geben.
Li

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



Re: Re: Dai Wong Long (Toss, 24. Aug 1995, 15:35:04):
#! rn=Asmodis rt=809263704
Au weia , Monster mit Zweities antesten, das find ich ja reichlich feige...
was fuer ein wunder, wenn die hohen Seher nimmer sterben, weil sie wuerste
vorschicken.

Ryne.
- Lieber sterben als feige sein. Ist doch nur ein Spiel, oder ? -

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



Re^4: Dai Wong Long (Toeter, 24. Aug 1995, 19:42:50):
#! rn=Jaf rt=809271478
Momeeent, Asmodis ist doch ein Zweitie. Er hat doch sicherlich gemeint,
dass er die Monster persoenlich antestet, oder? ;)

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



Re^6: Dai Wong Long (Asmodis, 24. Aug 1995, 20:46:08):
#! rn=Asmodis rt=809289925
Gibts ne Kiste Sake fuer Re^1000 ?? :)

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



Re: Re: Dai Wong Long (Schrumpfi, 25. Aug 1995, 00:05:45):
#! rn=Li rt=809260167
Das Hauptwort von pathetisch lautet Pathos. :)
Schrumpfi

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



Re^3: Dai Wong Long (Hardil, 25. Aug 1995, 11:20:39):
#! rn=Toss rt=809271304

Was ist ein Zweitie?
-Hardil

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



Re: Re: Dai Wong Long (Snuggle, 29. Aug 1995, 17:45:03):
#! rn=Asmodis rt=809263704
Feigling!

Snuggle, probiert neue Monster (und Quests) immer erst selbst aus,
bevor er arme Zweities reinschickt.
:-)

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



Re^3: Dai Wong Long (Asmodis, 29. Aug 1995, 19:08:26):
#! rn=Snuggle rt=809711103
Wer sich von seinen Zweities so drangsalieren laesst ist selbst Schuld :)

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



Re^4: Dai Wong Long (Snuggle, 29. Aug 1995, 20:37:53):
#! rn=Asmodis rt=809716106
Ich hab meine Zweities im Griff, im Gegensatz zu manchen andern hier :_)
Aberich bin auch gut zu ihnen.

grinsend,
Snuggle

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



FastFood (Ulo,  7. Sep 1995, 16:38:04):
Hallo!

Wem bis jetzt das Essen in FW zu teuer oder zu zeitraubend war, der kann
ab jetzt auch bei Hung-ga in der Kueche essen. Allerdings laesst Hung-ga
nicht jeden in seine Kueche rein ...

Ulo.

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



Re: FastFood (Jerrico,  7. Sep 1995, 17:54:12):
#! rn=Ulo rt=810484684
mir war es zu zeitraubend
aber ich will nicht meckern, sonst hab ich wieder hausverbot :)


Jerrico

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



Re: Re: FastFood (Ulo,  7. Sep 1995, 23:11:08):
#! rn=Jerrico rt=810489252
Liebster Jerrico!

Hausverbot hattest Du nie, obwohl Du wegen Deiner Essmanieren nicht sehr
beliebt warst. :-)

Ulo.

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



Dojo des Grauens (Baron, 18. Sep 1995, 17:41:53):
Liebe Karateka,
Sollte es Euch nach Trainigspartnern fuer eine kleine Uebungskeilerei mangeln
empfehle ich das 'DOJO DES GRAUENS' :). Die Zombies werden es Euch hoffentlich
nicht ZU leicht machen.
Es gilt jedoch *** VORSICHT ***. Die Monster sind getestet bis zum Erbrechen,
ich kann jedoch fuer nichts garantieren :). Betreten ist also auf eigene
Gefahr.
Wenn Eurer Meinung nach die Zombies zu schwer, zu leicht oder einfach zu
bloed sind -> typos, mails und Ideen absondern. Insbesondere interessiert
mich, wenn Ihr Vorschlaege habt, mit welchen Techniken die Zombies angreifen
sollen.
Viel Spass und Danke fuer die Beachtung aller Sicherheitsmassnahmen ....
(Red) Baron - bastelt heut mal Monster auf Bestellung :).

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



Re: Dojo des Grauens (Baron, 18. Sep 1995, 17:42:44):
#! rn=Baron rt=811438913
Ach ja ...
Viel Spass beim Suchen :)

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



DoJo des Grauens (Flusswind, 19. Sep 1995, 11:58:43):
Also ich hab das DoJo gefunden, muss aber sagen das es fuer Karateka
Anfaenger noch eine nummer zu Gross ist.Und da ich einer bin muss ich mal
sagen es gibt in fernwest viel zu wenig fuer Anfaenger. Der Piepmatz und der
Bettler sind ja schoen und gut, aber wenn ich pro Kampf nur 0,1 % gewinne an
meiner Abwehr ist das ein bisschen wenig. Ach uebrigens wie wird man den
Segeldrachen wieder los?Wenn ich ihn wegwerfen will sagt er sowas siehst du
nicht.
Ansonsten Klasse idee mit den Katzen auch die ANimationen

Ciao'i Flusswind

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



Re: DoJo des Grauens (Li, 19. Sep 1995, 13:55:54):
#! rn=Flusswind rt=811504723
Wenn ich als RM mal meinen Senf dazugeben darf: Nicht vergessen, dass FW noch
eine sehr NEUE Region ist. Sicherlich wird es in FW demnaechst auch eine Art
"Hochebene" oder ein paar Anfaengermonster geben.
Ich habe neulich in meinem Haus eine geheime Falltuer gefunden, wenn ich
Silvana bei der Zaubergilde geholfen habe, werde ich sie mal erforschen.
Li

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



Re: Re: DoJo des Grauens (Cuchullin, 19. Sep 1995, 13:57:23):
#! rn=Li rt=811511754

Hmm... ist da nicht schon sowas wie ne Hochebene in Fernwest?

Cuch.-

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



Re^3: DoJo des Grauens (Li, 19. Sep 1995, 13:59:36):
#! rn=Cuchullin rt=811511843
ich meine doch so vom SChwierigkeitsgrad der Monster

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



Re^4: DoJo des Grauens (Kaenguruh, 19. Sep 1995, 14:00:46):
#! rn=Li rt=811511976
Wird jetzt in d.fernwest gemuellt? :)))

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



Re: DoJo des Grauens (Baron, 19. Sep 1995, 17:52:00):
#! rn=Flusswind rt=811504723
Also, erstens sind meine Zombies halt ziemlich 'grauenvoll' und gefaehrlich
:), und zweitens noch immer in der Anpassungsphase. Zur Info: Der oestliche
Trainingsraum ist auf 'Anfanger', also 9-7 Kyu abgestimmt. Es sollte dir
moeglich sein in diesem Raum zu trainieren, wenn auch mit einigem Tanken. Der
Uebungseffekt ist (wenn ich richtig orientiert bin) bei meinen Zombies
DEUTLICH groesser als bei normalen NPCs, so das auch Anfaenger die die Viecher
nicht gleich umpusten koennen ein wenig dazulernen. Das Dojo wird noch stark
erweitert werden. Auch um Monster fuer Abenteurer (und Zauberkundige?).
Tschau,
(Red) Baron - Chefanpasser :)

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



*Vorsicht* (Baron, 20. Sep 1995, 07:16:26):
Auf den Wunsch einiger Spieler sind nun die 'starken' Zombies etwas
ausdauernder. Als Ausgleich schlagen sie allerdings auch staerker zu. Also
Vorsicht :)! Mailt mir ob ihr die Viecher zu hart, zu weich o. ae. findet.
Bislang scheint ja noch niemand daran gestorben zu sein, vielleicht sollte ich
sie autoagressiv machen :))?
Baron - muss gleich zur Arbeit :((

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



immernoch DoJo des Grauens (Flusswind, 20. Sep 1995, 09:55:36):
Hallo erstmal

Falls das im ersten Artikel nicht so rueberkam ich finde das DoJo des Grauens
toll, und wie du sagst ist der eine Raum gut fuer Kyu 9-7 aber ich bin
ANfaenger_(ohne Kyu) was daran liegt das ich mich kaum mit age-uke wehre
obwohl ich es bei verteidigung
eingestellt habe aber das ist wohl eine andere rubrik
Ach Baron, frag mal Stroemung, deer ist naemlich schon bei deinen Zombies
draufgegangen.
Und wenn es schon sowas wie eine Hochebene in fernwest gibt dann sagt mir wo
die ist.

So Ciao'i Flusswind

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



Yamada ist dohf. (Nichts, 21. Sep 1995, 16:10:55):

   A  B  C  D  E  F  G  H  I
 9 O  .  O  .  .  .  O  .  . 9  OO   nichts  OO   tot: 5 Steine
 8 O  .  O  .  .  O  O  .  . 8
 7 O  .  O  .  O  O  +  . >O<7  ##   yamada  ##   tot: 27 Steine
 6 O  O  O  .  O  .  .  .  O 6
 5 .  O  O  O  O  .  O  .  . 5
 4 .  O  .  .  O  O  O  O  O 4  Der letzte Spielzug war:
 3 O  .  O  .  .  O  +  .  O 3  nichts setzte auf i7
 2 .  O  O  O  .  O  O  O  . 2
 1 O  .  O  .  .  O  .  .  . 1
   A  B  C  D  E  F  G  H  I     (c)1995 ulo@mg
Yamada sagt: Gut gespielt! Ich gebe mich geschlagen!
Yamada verbeugt sich vor Dir.
Yamada grummelt etwas vor sich hin.
Yamada verlaesst das Brett.
Ohne Gegner verlierst Du das Interesse und verlaesst das Brett.

*brummel* Er haett mir doch wenigstens sagen koennen, wie hoch er denn nun
verloren hat, wenn er schon einfach abhaut.

""  - der Yamadagrummler.

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



Re: Yamada kann Nichts :) (Ulo, 21. Sep 1995, 16:18:27):
Hallo, Du nichts!

Yamada ist so geproggt, dass er bei mehr als 20 Gefangenen Rueckstand
aufgibt.
Er ist nicht dafuer da, sadistische quealgelueste von boesartigen Go-Spielern
zu befriedigen! Und uebrigens: Wenn du ihn nochmal so aergerst, dann setze
ich mich unsichtbar daneben, und mache fuer Yamada die Zuege, und dann werde
ich DICH quaelen ... :)

Ulo.

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



Re: Re: Yamada kann Nichts :) (Wur, 24. Sep 1995, 03:27:06):
#! rn=Ulo rt=811693107
Auweia, ob das gut geht Ulo?

Wur grinst frech

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



Feuerwerk (Li,  6. Nov 1995, 10:08:04):
ni hao!
Kan Po, der Feuerwerker in Xian, hat sich entschlossen, einige der von
Silvana entwickelten Feuerwerke zu verkaufen.
Es gibt bis jetzt zwei verschiedene Raketen, die sich in ihrer Steighoehe,
und damit der Sichtbarkeit unterscheiden. Beide Raketen kann man jedenfalls
auch bewundern, wenn man nicht mit demjenigen, der die Rakete startet, an
einer Stelle befindet.
Sivherheitshinweis:
Diese Raketen duerfen nicht in die Haende von Kindern gelangen. Nach dem
Entzuenden auf den Boden legen! nicht in geschlossenen Raeumen benutzen!

Li

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



Pegasus (Li,  6. Nov 1995, 11:31:46):
Nach langen, zaehen Verhandlungen ist es uns jetzt endlich gelungen, Pegasus
dazu zu bewegen, nach Fernwest zu fliegen.

Li (winkt Silvana, Freund und Zardoz zu)

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



Palastsamurai (Li,  6. Nov 1995, 11:54:40):
wie viele wissen, patrolliert vor dem Palast in Xian ein Samurai. Wird er
angegriffen, so ruft er (wie viele andere Wachen auch) hilfe herbei. die neu
herbei gerufenen Wachen stuerzten sich voller Elan auf den ersten Angreifer.
dummerweise nur auf diesen, so dass Andere die neuen Wachen einzeln und in
ruhe niedermachen konnten.
Um dies zu verhindern, und die Hilfswachen nicht zu Sparringspartnern zu
machen, wurden sie angewiesen, zukuenftig JEDEN anzugreifen, der dort
rumscharwenzelt.
wie gesagt, der erste Samurai steht friedlich Wache, nur die zu hilfe
gerufenen haben die Lizenz zum Toeten (allers Spieler)

Li

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



Palastsamurai II (Li,  6. Nov 1995, 12:10:02):
Ach ja, damit die wuetenden Samurai keinen harmlosen Gerichts- oder
Haendlervbesucher angreifen, wurde die Wache in das Palasttor verlegt...

Li

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



Teehaus (Li, 15. Nov 1995, 08:56:22):
Ni Hao!
Kan Po, der Betreiber des Teehauses, hat jetzt ein Neues Getraenk in sein
Programm aufgenommen. Es ist etwas teurer, aber Ginseng ist ja nun mal nicht
ganz billig.
Ganbei!
wuenscht : Li


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



Re^6: Feuerwerk (Boing, 24. Nov 1995, 15:30:05):
#! rn=Magicolli rt=817213040
Leider hast Du damit recht.
  Boing

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



Re^9: Feuerwerk (Isnogood, 24. Nov 1995, 15:50:45):
#! rn=Rochus rt=817220952
Das ist doch ketzt kompletter Bloedsinn, was du schreibst, Rochus.
Wenn ich jemanden mit einem Schwert angreife, dann tue ich es um ihn zu
toeten.
Wenn ich ein Feuerwerk anzuende, dann tue ich es, um ein Feuerwerk zu sehen.
Das hier ein mitverschulden des Magiers, der das geproggt hat vorliegt, ist
fuer mich offensichtlich, ganz abgesehen von der Tatsache, dass, wie ich
gerade
erfahren habe, dass Feuerwerk wohl kurz vorher so umprogrammiert wurde, dass
es NPC's keinen Schaden mehr zufuegt. Wenn das stimmt, dann waere es die
Haerte und die ganze Diskussion hier, zumindest von Magierseite, nicts als
Heuchelei.

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



Re^10: Feuerwerk (Fyt, 24. Nov 1995, 15:51:23):
#! rn=Grimmborn rt=817221564
Genau... die besoffenen Raeume halte ich auch fuer die wichtigste
Erfindung seit Erschaffung dieser unserer Welt.
:
Fyt
:
PS: ist eiegntlich diese follow-up-erei in 'schmarrn' beendet? dann
koennte ich die rubrik naemlich wieder abonnieren.

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



Re^10: Feuerwerk (Hardil, 24. Nov 1995, 15:52:51):
#! rn=Isnogood rt=817224645

Tja, Isnogood - Du hast den Nagel auf den Kopf getroffen.
Die Frage ist doch inzwischen eher andersherum zu stellen:
Was am MG ist denn keine Heuchelei?

-Hardil. Hofft, dass nur die, die sich angesprochen fuehlen sollen, sich
jetzt auf den Fuss getreten fuehlen.


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



Re^10: Feuerwerk (Bambulko, 24. Nov 1995, 15:56:23):
#! rn=Isnogood rt=817224645
In diesem Fall wurden die Raketen ja auch gezielt dazu verwendet, um jemanden
zu toeten....also verlegt die ganze Rubrik am besten nach Schmarrn.

Bambulko
(loescht jedes Feuerwerk)

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



Re^10: Feuerwerk (Rochus, 24. Nov 1995, 15:57:56):
#! rn=Isnogood rt=817224645
Wenn Du ein Feuerwerk in einem geschlossenen Raum zuendest,
kannst Du Dich daran verletzen - im Mud und in RL.
Wenn Du festgestellt hast, dass Du jemanden damit verletzen kannst
und es dann in einen Raum zu Leuten steckst, die nicht vom
Feuerwerk getroffen werden wollen, es anzuendest und dann abhaust,
dann kannst Du mir nicht erzaehlen, dass Du es gaten hast
um das Feuerwerk zu bewundern.
Der Magier der es programmiert hat, hat gedacht, dass die Spieler
wohl so vernuenftig sind, es nicht in geschlossenen Raeumen
zu zuenden, wenn sie festgestellt haben, dass sie sich daran
verletzen koennen.
Fuer die boeswillige ABSICHT eines Spielers ist der Magier nicht
verantwortlich sondern der Spieler selbst.

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



Re^11 (Terrorist, 24. Nov 1995, 15:58:17):


Leute ich verstehe eueren Aufriss nicht das ist ein SPiel und wenn ihr es zu
ernst nehmt sollte ihr selbstloeschung machen.
Ich glaube kaum das MagicOlli im Rl mit einer Rakete in einen geschlossenen
Raum geht und schaut wie schoen es BUMMM macht.
Eben weil man hier nach dem Tod wieder auf steht ist es so schoen zu sterben.
Ausserdem kann Silvana mir nicht erzaehlen das sie als sie es programmiert
hatte nicht damit gerchnet hat das damit auch spieler angegriffen werden.
Ich kann den aufriss nicht verstehen

Terrorist haelt zu MagicOlli

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



Re^12: 0 (Ulo, 24. Nov 1995, 16:00:32):
#! rn=Terrorist rt=817225097
Richtig Terrorist, Silvana haette damit rechnen muessen. Genauso haetten auch
die Hersteller von Mirkowellenherden damit rechnen sollen, dass man darin auch
mal Katzen trocknen will und entsprechende Hinweise anbringen sollen.
In beiden Faellen eine klare Nachlaessigkeit auf Seiten der Hersteller.

Ulo.

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



Re^11: Feuerwerk (Isnogood, 24. Nov 1995, 16:02:27):
#! rn=Rochus rt=817225076
Bisher habe ich fuer die Baoeswilligkeit, die du hier unterstelltst, nicht
den
geringsten Anhaltspunkt gefunden. Bisher habe ich olli als lieben,
hilfsbereiten und freundlichen Mudder kennengelernt und ich interpreriere
diese
ganze Sache einfach als Experiment. Als damals der Wolpertingerclub in die
Luft geflogen ist, gab es ja auch keinen solchen Auftsand und heute
schmunzeln
wir darueber.
Und im uebrigen, wenn Magier eine Waffe programmieren, die nur Spieler
schaedigen und keine NPC, dann soll man nicht anderen Boes Absicht
unterstellen.

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



Re^13: 0 (Hardil, 24. Nov 1995, 16:02:43):
#! rn=Ulo rt=817225232

Nana Ulo,

das war keine Katze, das war ein Pudel in der Mikrowelle.
Also immer schoen bei der Wahrheit bleiben. :-)

-Hardil. Breit grinsend.

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



Re^11: Feuerwerk (Fyt, 24. Nov 1995, 16:03:25):
#! rn=Rochus rt=817225076
Oehm... ich hab's noch nicht ausprobiert, ich geb;s ja zu. Aber es hiess
mal, dass Zeug greift keine NPCs an. Kann mir den Sinn dieser Sache mal
jemand erklaeren?
:
Fyt.
:

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



Re^13: 0 (Rochus, 24. Nov 1995, 16:04:20):
#! rn=Ulo rt=817225232
Also die amerikanische Art.
Das fuehrt dann dazu, dass Leute den Hersteller eine Sache fuer
den Schaden verklagen, den sie sich selbst damit zugefuegt haben.
Und das auch noch bei ABSICHT zu machen halte ich fuer eine Frechheit.

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



R^13 (Terrorist, 24. Nov 1995, 16:04:28):
(Bezug: Artikel 63 von Ulo vom 24 Nov 1995, 16:00:32)

Du verwechselst schon wieder RL und Morgengrauen.
Hast du schon mal davon gehoert das jemand seine Katze in der Mikrowelle
getrocknet hat, ausser das es in der BILD-Zeitung stand (ich kenne dein Niveau
ja nicht) ?
Wenn ja machen das nur selisch kranke, das kann man nicht vergleichen.

Flamt Terrorist

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



Re: Re: R^13 (Jimdigriz, 24. Nov 1995, 16:07:01):
#! rn=Jimdigriz rt=817225554
Hallo,
Hmm ich seh das eh so:
RL ist die Welt wo sich die hinfluechten,
die im MG nimmer zurechtkommen.

Also wer is denn hier nicht verrueckt ??

James Bolivar diGriz - wie irre kichernd im Traumschloss rumhuepfend.

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



Re: R^13 (Ulo, 24. Nov 1995, 16:08:10):
#! rn=Terrorist rt=817225468
Das hat nix mit Bild-Zeitung zu tun, und auch nix mit seelisch kranken,
sondern mit der ganz alltaeglichen gedankenlosigkeit.
DER FALL MIT DER KATZE IST NICHT ERFUNDEN !!!
Ulo.

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



Re: Re: R^13 (Hardil, 24. Nov 1995, 16:09:03):
#! rn=Ulo rt=817225690

Doch, Ulo!

Es war naemlich tatsaechlich keine Katze, sondern ein Pudel. :)

-Hardil. Liest USA Today, und das ist fast so schlimm wie BILD-Zeitung. :)

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



Re: Re: R^13 (Boing, 24. Nov 1995, 16:11:40):
#! rn=Ulo rt=817225690
Doch, ist er :)
Es gibt ein ganzes Buch mit 'Sagen' der Neuzeit, da ist diese Geschichte
auch drin und jede Menge anderer die ein Freund eines Bekannten schon
erlebt hat ... :)
  Boing

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



wohin fuehrt das alles ? (Ryne, 24. Nov 1995, 16:14:47):
Diese Diskussion passt zu der in etikette. Wir haben in meinen augen einen
klaren werteverfall im mg, ob das darin besteht, dass man leute beklaut,
boesewichte oeffnetlich denunzieren will, oder eben wie magicolli einen pk
immer dann in ordnung findet, wenn es ja "nur" ein paar gaeste trifft, die eh
nur 350 eps haben.

nun, eine solche entwicklung umzukehren ist sicherlich nicht leicht. aber
wenn jemand auf spielerseite dazu am meisten beitragen kann, dann sind das in
meinen augen die aelteren spieler, die durch ihre erfahrungen eher in der lage
sind, auf andere spieler einzuwirken und durch verantwortungsvolles handeln
eine art vorbildfunktion einzunehmen.

Und nun kommt genau einer derjenigen, vor denen ich bisher immer einen
grossen respekt hatte, weil er eben in meinen augen ein gewisses
verantwortungsbewusstes handeln an den tag legt, daher, und meint, einfach mal
so spieler umzunieten. Auf solche leute koennen wir wirklich mehr als
verzichten. Denn eins sollte klar sein: jeder anfaenger, der magicollis
artikel liest, kommt zumindest ins gruebeln, ob nicht pks doch nur halb so
wild sind. und langsam aber sicher laufen wir gefahr, dass dadurch unser
bisheriges wertesystem zerfaellt und wir lediglich durch technische regelungen
pks verhindern koennen. dann waeren wir ein voellig technokratisches system,
wo menschen nicht mehr aus gewissensgruenden darauf verzichten, andere
anzugreifen, sondern lediglich, weil es nicht mehr moeglich ist.

Und das ist der punkt, an dem das konzept eines muds als beispiel einer welt,
in der eine vielzahl von spielern nach gewissen mindestumgangsformen einander
respektiert, gescheitert ist, und der beweis erbracht waere, dass man auf
vernunft nichts mehr bauen kann, sondern lediglich mit knallharten Verboten
und Regelungen alles unmoeglich macht, was dem spielkonzept widerspricht.

Wer das will, soll gerne nochmal partei fuer magicolli ergreifen. ich will es
nicht. und ich bedauere es, das magicolli nichtmal bereit ist, ueber einen
fehler nachzudenken und/oder ihn zuzugeben.

Genauso wie cuchullin ueber das mg im moment nicht so begeistert,

Ryne


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



Re: Re: R^13 (Creative, 24. Nov 1995, 16:15:22):
#! rn=Ulo rt=817225690

eine kleine bescheidene Meinung... zaehlt zwar nix...:
Ne Meise haben wir alle ein wenig. Aber das is ja auch menschlich. Hier
handelt es sich auch um ein Spiel, das im Grunde an das RL leicht angelehnt
ist, weil es einfach leicht ist, es daran anzulehnen.
Kaum mehr Erfahrung hat man mit 'Pseudo-Welten' als mit der, aus der wir
kommen.
Na gut. Und die Phantasie tut ihr uebriges.
Naja, meine Meinung noch... Ich find es nicht gut, wenn jemand einfach so
Rakten zuendet, und andren damit schadet. Es gibt PK-MUDs in Huelle und
Fuelle,
in denen es den Anfaengern NIE gut geht, die einfach immer schlecht da
stehen. Aber dafuer gibt es auch PK-MUDs. Das selber ist nicht unbedingt als
PK zu sehen, aber im Grunde war auch eine gewisse Absicht dahinter, und sei
es auch nur - die Raketen zu testen. Die Absicht als solches ist
zu verurteilen, weil man ja eigentlich den andren nicht schaden wollen
sollte, sondern ein wenig Ruecksicht auch auf andre nehmen sollte. Wo ist er
denn, der vielgeruehmte Teamgeist des MG? Wo ist er denn? Gehts um Quests,
ZT's, o.ae. zeigen sich die Spieler kooperativ. Manche mehr, manche weniger.
Und nu isse weg, die Kooperation? Schade eigentlich.
Sehr schade.

-Crea-

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



Re: wohin fuehrt das alles ? (Grimmborn, 24. Nov 1995, 16:23:14):
#! rn=Ryne rt=817226087

Also, ich glaubs einfach nicht...
Da hat also ein Spieler am unpassenden Ort ein neues, vielleicht nicht
sonderlich gluecklich programmiertes Teil ausprobiert, hat festgestellt, dass
er nebenbei ein paar Spieler und Gaeste erwischt hat.
Nun geht er nicht direkt hin und kriecht im Staub sondern ueberspielt es (in
meinen Augen) nach dem Motto: Passiert ist passiert, aendern kann ich nix,
machen wir wenigstens noch ne nette Story draus.
Promt wird er angegriffen wie jemand, der Pest, AIDS und Atombombe nicht nur
erfunden sondern auch eingesetzt hat und ist hier der Boesewicht Nummer 1.
Und es wird mit Krokodilstraenen der Verfall der Sitten und der Untergang der
morgengraeulichen Kultur beklagt.

Sagt mal, habt ihr sie eigentlich noch alle?

Grimmborn der Atheist
Wundert sich, wie schnell doch lang erprobte Beurteilungen ueber andere
kippen koennen.

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



Re: wohin fuehrt das alles ? (Isnogood, 24. Nov 1995, 16:24:46):
#! rn=Ryne rt=817226087
Ich kann die nur empfehlen, lies die Ollis Artikel noch mal durch. Er hat ja
zugegeben, einen Fehler gemacht zu haben. Insofern ist er zumindest
ehrlich, ein Eindruck, den ich hier nicht immer habe. Und wenn wir hier
anfangen, ueber den Werteverfall zu diskutieren, was ich sehr begruessen
wuerde, dann sollten wir damit anfangen, dass das Leben von NPC's offenbar
wichtiger ist als das von Spielern. Und dann muessen wir auch mal ueber das
Verhalten einiger Magier reden, denn da gibt es in letzter Zeit auch einige
unruehmlich Beispiele. Aber jetzt hier partout einen Suendenbock zu suchen
und ein Exempel statuieren zu wollen, das ist genauso schlechter Stil.

Isnogood (dessen hohe Meinung von Ryne duch diesen Artikel doch etwas
gelitten hat.)

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



Re: Re: wohin fuehrt das alles ? (Isnogood, 24. Nov 1995, 16:25:50):
#! rn=Grimmborn rt=817226594
Wenigstens gibt es noch ein paar Leute, die normal geblieben sind.
Danke Grimmborn fuer diesen Artikel.

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



Re: Re: wohin fuehrt das alles ? (Rochus, 24. Nov 1995, 16:29:49):
#! rn=Isnogood rt=817226686
Ich hatte bei Magic Olli nicht den Eindruck, dass er SEINEN Fehler
eingestanden hat. Ich hatte mehr den Eindruck, dass er sein
Verhalten damit entschuldigen wollte "Wenn ihr nicht jede Moeglichkeit
ausbaut, anderen Spielern zu schaden, dann mach ich dass eben
und ihr Magier seid dran schuld!". So bitte nicht.

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



Re: Re: wohin fuehrt das alles ? (Ryne, 24. Nov 1995, 16:39:19):
#! rn=Isnogood rt=817226686
1. magicolli hat deutlich genug gesagt, dass in seinen augen der pk
eigentlich wurscht ist, weils ja nur ein paar unwichtige spieler erwischt hat.
ob der pk beabsichtigt war oder nicht: seine reaktion zeigt fuer mich kein
ueberspielen der sache, sondern schlichte ignoranz gegenueber den regeln im
mg. kann ne falsche beurteilung sein, seh ich aber nunmal so. muss jeder fuer
sich entscheiden.

2. ebenso mag sich jeder eine eigene meinung davon bilden, ob nun eine
"morgengraeuliche kultur" ueberhaupt existiert. fuer mich tut/tat sie das. und
ein handeln und eine reaktion wie die von olli machen sowas nunmal kaputt.
wenn ich mich darueber aergere, so kann man dies zwar als krokodilstraenen
abtun, kann sich aber auch schlicht mal gedanken machen, wohin die momentane
entwicklung gehen wird, und ob einem das ergebnis dann gefaellt.

3. zu isnogood: nein, einen suendenbock sucht glaube ich keiner hier. ich
habe lediglich am beispiel ollis die situation, wie sie sich mir darstellt,
ausgewertet. und ich bin auch keiner von denen, die das leben von npcs (sprich
den wolpis)  hoeher stellen als das von spielern, genausowenig heisse ich den
missbrauch von macht durch einige magier gut. und gerade deshalb habe ich ja
geschrieben, dass nicht nur die sache mit olli, sondern ein allgemeines
werteverfall im mg die stimmung hier deutlich verschlechtert.

Ryne

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



Re^4: R^13 (Hardil, 24. Nov 1995, 16:43:03):
#! rn=Kretek rt=817227734

Naja, USA und d.Fernwest pasen ja schon fast wieder zusammen. :-)

-Hardil

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



Re^3: R^13 (Kretek, 24. Nov 1995, 16:43:09):
#! rn=Boing rt=817225900
Nicht nur eins, Boing!
"Die Spinne in der Yuccapalme", oder auch
"Die Maus im Jumbo-Jet"
... Und wie das andere heisst, hab ich vergessen!


Kretek

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



Re^4: R^13 (Semira, 24. Nov 1995, 16:46:08):
#! rn=Kretek rt=817227789
"das Huhn mit dem Gipsbein"
Hab sie alle drei und kann sie nur empfehlen!

Semira

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



Re^5: Feuerwerk (Asmodis, 24. Nov 1995, 17:00:40):
#! rn=Paracelsus rt=817211997
Aeh, auf NPCs loslassen? Das wurde beim Feuerwerk doch extra ausgebaut !!

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



Re^6: Feuerwerk (Asmodis, 24. Nov 1995, 17:08:25):
#! rn=Bongo rt=817218873
Nein, die sind zum toeten von Spielern gedacht :)
Monstern kann man damit ueberhaupt nix anhaben, hat Silvana doch extra
ausgebaut.

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



Re: Re: Feuerwerk (Nixihou, 24. Nov 1995, 17:12:21):
#! rn=Magicolli rt=817131446
also das feuerwerk war eigendlich eine heubsche idee, die eben kulurell zu
fernwest und zu alchimisten im allgemeinen passen.
und ein feuerwerk am himmel zu beobachten, warum sollte das nicht im mud
gehen?
nun verletzt feuerwerk, das in geschlossenen raeumen gezuendet wird nun mal
die anwesenden personen. (deshalb wurde es wohl auch so geproggt)
und da ein freiverkaeufliches dynamit-aequivalent fuer das mud zu gefaehrlich
waere sind npcs wohl immunisiert gegen feuerwerkschaden! (
aber welcher spieler haette auch ernsthaft daran gedacht das feuerwerk als
waffe zu missbrauchen *ironie of*)

schade halt das tolle ideen, die die kultur in einigen bereichen des muds
farbiger gestallten immer bis zum letzten ausgereizt werden muessen, bis man
halt wegen playerkills eine riesen diskussion hat.

nixihou, findet feuerwerk immer noch schoen.

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



Re^3: wohin fuehrt das alles ? (Elric, 24. Nov 1995, 17:22:56):
#! rn=Rochus rt=817226989
  Tjajaaa, da waeren wir wieder einmal tief in einer Diskussion, in der
anhand ethischer oder moralischer oder juristischer Gesichtspunkte
entschieden
werden soll: "Quo vadis, Mg?". Keines dieser Konzepte scheint mir geeignet
zu einem Entschluss zu kommen. Die Juristerei ist eindeutig ein RL-Feature
(zum Glueck), aber auch Ethik und Moral scheinen mir bei einem Kunstprodukt,
wie es das Morgengrauen ja nun einmal ist, nicht die Kriterien der Wahl
zu sein.
  Wie alles, was mit Phantasie, Kreativitaet usw. zu tun hat und keine
starken
Auswirkungen auf RL hat (die Frage, ob eine geniale Idee zu einer neuen Waffe
umgesetzt werden sollte, hat sehr wohl etwas mit Ethik zu tun...), ist
I(IMHO, obligatorisch) der Geschmack entscheidend und keine abstrakten
Masstaebe.
Die Frage ist also, ob wir ein Mud wollen, in dem das Verhalten aller
durch ein komplexes System von Etiquette und Regel geleitet wird
oder ein Mud, in dem ein hohes Mass an persoenlicherFreiheit
besteht und in dem es -natuerlich- mehr Konflikt gibt.
  Es gibt Spieler, die sich furchtbar echauffieren, wenn sie zwischendurch
mal weggesprengt werden; andere, die das lustig finden; dritte, so wie mich,
die beim ersten mal ob der Originalitaet dieses kreativen Missbrauches
einige Zeit rotfl verbringen, aber bei Wiederholungen recht bald gelangweilt
sind.
  Daher, Magier: versucht, ein einigermassenes Bild ueber die Geschmacks-
verteilung im MG zu bekommen und ueberlegt euch dann - und daran, wozu
ihr Lust habt, es zu proggen, es ist schliesslich Eure Arbeit - wie das
MG in Zukunft aussehen soll.
  Keine Macht den Moralisten! Draussen gibt's genug Scheinheiligkeit!
        Elric

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



noch mal feuerwerk (Nixihou, 24. Nov 1995, 17:33:00):
so hab jetzt erst mal die restlichen artikel in der rubrik gelesen!
zum daseinszwecke des feuerwerkes:

wie auch im RL ist im mud das feuerwerk NICHT dazu gedacht gewesen,
monster zu toeten
spieler zu toeten
oder sonst irgend jemanden zu nerven oder zu aergern

FEUERWERK ist dazu da huebsche licht und knalleffekte zu produzieren.
(das es spieler verletzen kann ist eine durchaus realistische nebenwirkung)

ausserdem: wenn ungefaer 10 mal die meldung in einem raum kommt
Zischschsch (oder so aehnlich, habs nicht ausprobiert)
dann sind die entsprechenden spieler auch ein kleines bisschen mit schuld
(oder dumm, wenn man denn so will)
ok ok wenn man idle ist oder sonstwie 10 min nicht auf den bildschirm schaut
kann man immer noch nichts gegen feuerwerk machen.
aber eine deutliche warnung ist es schon.
und so finde ich nicht das hier ein gravierender fehler beim programmierer
lag/liegt/oder wie auch immer.


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



Re: noch mal feuerwerk (Puma, 24. Nov 1995, 17:50:18):
#! rn=Nixihou rt=817230780
Also ich fand die Idee mit dem Feuerwerk auch toll und habe die Ausgaben von
den exploriuenden Sternen geliebt.
Jetzt eine ganze Idee wegen des Vorfalls aufzugeben, finde ich Schwachsinn.
Man kann den Feuerwerkskoerper doch auch so gestalten, das er in geschlossenen
Raeumen nicht entzuendbar ist. Magie macht alles moeglich! Der Satz kommt zwar
aus AD&D, passt hier aber ganz gut.

PUMA!


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



Re: Re: noch mal feuerwerk (Boing, 24. Nov 1995, 17:51:49):
#! rn=Puma rt=817231818
Oder ein einfacher Satz 'Das Feuerwerk explodiert an der Decke, Du hast
Glueck, dass Du Dich nicht schwer verletzt hast ...'
Damit hat man dann die Gefahr ausgedrueckt, aber passieren tut doch nix.
  Boing

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



Re: Feuerwerk (Larissa, 24. Nov 1995, 18:00:44):
#! rn=Silvana rt=817112841
Hiho!
Ich moechte mal kurz etwas zu dem Thema SPIEL sagen.
Ja, das hier ist ein Spiel, aber es gibt ein paar Regeln hier, auf die
wichtigste wird man doch beim einloggen hingewiesen. Wem diese Regeln
nicht gefallen, der muss doch hier nicht spielen, und wer die Regeln
verletzt, muss sich nicht ueber genuegend Aerger wundern, ganz egal,
wie sinnvoll/los die regeln sind...
Larissa, findet, dass spielen am meisten Spass macht, wenn keiner schummelt.

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



Re^8: Feuerwerk (Tasha, 24. Nov 1995, 18:45:04):
#! rn=Bongo rt=817219968
Hmm, Bongo. Aber wie ist es denn, wenn Du einen Mixer, von dem Du weisst,
dass er fehlerhaft ist jemandem in der Absicht gibst, ihn damit umzubringen.
Was die meisten hier aufregt ist glaube ich weniger die Tatsache, dass SCs
gekillt worden sondern vielmehr die ABSICHT, in und mir der das geschah. Ich
moechte an dieser Stelle auch nochmal drauf verweisen, dass kurz nach dem
Anschlag eine unmenge von Feuerwerkskoerpen in der Naehe des Tatorts gefunden
wurde. Die Sache war also geplant. Ich kann ja Verstaendnis dafuer haben, wenn
sich jemand ueber einen anderen Spieler so sehr aufregt, dass er ihn umbringt.
Aber wenn man einen anderen umbringt, nur weil es einem Spass macht, dann
finde ich das doch schon ziemlich durch den Wind.

Tasha, wuerde nur Freunde killen ;)

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



Re^6: RL-Feuerwerk (Tasha, 24. Nov 1995, 18:51:45):
#! rn=Hardil rt=817223219
He, Vorsicht. ICh dachte ich haette im Nachsatz klar gemacht, dass das kein
ernstgemeinter Vorschlag war. Es sollte mehr eine Antwort auf einen Artikel
von MagicOlli darstellen, in dem er was aehnliches aufs VL bezogen gesagt
hatte.

Tasha haette wohl doch *IRONIE ON* benutzen sollen.

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



re Re^4: Feuerwerk (Paracelsus, 24. Nov 1995, 12:19:57): (Roesti, 24. Nov 1995, 18:54:17):
>Ich persoenlich bin der Meinung, das Leute, die sich solche "Scherze"
>erlauben, direkt geloescht und der Name gebanished werden sollte.

Na Super ...
Einfach die Charakter loeschen und damit ist es gut....PRIMA
   Ich errinere mich noch an Zeiten wo es mal verpoent gewesen sein soll
Zensur auf so radikale Art zu unterbinden...
Ist doch auch keine Loesung.
Wieso redet mann nicht erst mal mit den Leuten?
Einfach alles verbieten und damit die Sache erledigen find ich ein
  gelinde gesagt
SEHR schwaches Bild

Roesti
   (fragt sich ob es nicht schon genug Verbote im RL gibt)

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



Re^9: Feuerwerk (Asmodis, 24. Nov 1995, 19:31:37):
#! rn=Tasha rt=817235104
Jo, wenn man jemandem, der am baden ist, einen Foehn ins Wasser
wirft, wird dann auch der Hersteller wegen Mordes angeklagt ? :)

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



Re^12: Feuerwerk (Baron, 24. Nov 1995, 19:33:43):
#! rn=Isnogood rt=817225347
Das Feuerwerk sollte mit SICHERHEIT kein Hintertuerchen fuer Meuchelspieler
werden, sondern Spieler ein paar LP abziehen die dumm genug sind den Kram in
geschlossenen Raeumen zu verwenden. Voelliger Schwachsinn Silvana eine
Verantwortung fuer das Geschehene unterschieben zu wollen.
Baron - fragt sich wie man auf solche Gedanken kommen kann.

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



re RL-Feuerwerk (Tasha, 24. Nov 1995, 13:07:12): (Roesti, 24. Nov 1995, 20:22:29):
Natascha schrieb:Ich finde MAgicolli hat vollkommen recht. Wozu ist Feuerwerk
gut, wenn man es
nicht zu allem benutzen darf, wozu man es auch benutzen kann?
Also mein Vorschlag: Wir besuchen zu Silvester Magicolli und stopfen  ihm ein
paar Raketen in noch auszuwaehlende Koerperoeffnungen. Muesste er doch
eigentlich normal oder sogar witzig finden.

Also ich glaub jetzt gehts los..
DAS IST EIN SPIEL!!!!!
  HALLO!!!!
   DENKEN MC FLY
Wenn ihr weiter so RL und SPIEL vermischt
gibt es hier evt demnaechst noch einen weniger...
   naemlich mich...
  Ich weis das waer nicht so schmerzhaft wie BoBo oder OrkT
   aber trotzdem...

Also denkt bitte drann
   DAS IST EIN SPIEL

Roesti

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



re Re^4: Feuerwerk (Rochus, 24. Nov 1995, 14:01:26): (Roesti, 24. Nov 1995, 20:26:28):
Ach so weil ich IM RL niemanden toeten darf darf ich auch im Mud niemanden
toeten?
Wieso darf ich dann bitte Orks und gardewaechter plaetten?

Im ernst...
Vieleicht sollten wir sowas mal aendern...

Bsp.:Du hast einen Elvenwaechter getoetet...fuer die naechsten 3 Wochen
haengt dein STeckbief im Elfendorf,und jeder Elf darf dich plaetten oder
sowas...

Ab nach schmarrn...

>>Hier soll ich meinen Namen hinschreiben? Nee dann weis ja jeder wer ich
bin...:)

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



PK (Roesti, 24. Nov 1995, 20:55:29):
Also beim Artikel wohin fuehrt das alles ? (Ryne, 24. Nov 1995, 16:14:47):
ist mir noch so ne Geschichte aus meiner Anfangszeit eingefallen...Als ich
noch mit Armin der hoffnungslose Kaninchenmoerder rumlief...:)
Damals hab ich nen Zweitie angegriffen weil er idelte und ich ihn deshalb
faelschlicherweise als NSC identifizierte...
Damals hab ich ne daemonenpeitsche (oder sowas ) bekommen,die noch schlechter
war als haende ...
Und die sollte ich erst mal loswerden...
Also ich meine die Bestrafung haette bei mir nix gebracht,aber ich fands
einfach toll das sich gleich jemand um mich kuemmertre als ich Scheisse gebaut
hatte und mit ERKLAERTE was ich falsch gemacht hatte.
Also Einsicht ist meiner Meinung nach besser als Banischen oder sonstwas...
(Ich moechte nicht abstreiten das ein kleines andenken(peitsche) nicht dazu
beigetragen haette das ich laenger dran denke.

2 Sachen find ich aber hier bloed...
   1.Das hier so blutruenstig ueber PK'lers hergezogen wird

und 2 wenn ein PK'ler nicht einsichtig ist.

Die Frage ist ob es sich hier beim Feuerwerk um den selben PK handelt wie
wenn ich jemanden mit einer Waffe(axt usw) angreife.

Dieser Meinung bin ich nicht...

Das soll nicht heissen das ich jetzt sage legt alle eurem idelndem Naechsten
ein Paket Dyna ins Gepaeck.
Aber ich seh da trotzdem nen Unterschied.

Roesti

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



Re: PK (Acrimon, 25. Nov 1995, 01:50:40):
#! rn=Roesti rt=817242929
Es gibt nur einen einzigen Unterschied zwischen dem Toeten eines Charakters
mit der Waffe und dem Toeten eines Spielers mit Gastzweitie und Dynamit:

Das erstere (mit der Waffe) ist ein _ehrenhafter_ Playerkill, weil du dazu
stehst und Seelenkraft genug hast, auch die Bestrafung willig hinzunehmen.

Das zweite (PK, indem man jemandem als Gast Dynamit zusteckt) ist
unehrenhafter Meuchelmord, der von boesartig angestifteten Taten eines Taeters
zeugt, der nicht zu dem stehen will, was er tut.

Beides ist ein eindeutiger PK, der entsprechend gefahndet werden musz.
Das zweite ist schwerer (vielleicht unmoeglich) zu fahnden, was die Schwere
des Verbrechens aber keineswegs abmildert, sondern extrem verschaerft.

Also lautet mein Apell:
Wenn ihr schon so was tun mueszt, dann, Leute, zeigt Ehre und Mannhaftigkeit!

Und wenn ihr PKs fahndet, dann seid euch bewuszt, dasz Moerder, die nicht zu
ihren Taten stehen, mit Abstand schwerer wiegen und schwerer gefahndet werden
muessen.

Acrimon, der Rote Ritter

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



Re: Re: Nenene... (Morgoth, 25. Nov 1995, 14:58:24):
#! rn=Cuchullin rt=817219626
FUCK CHIRAC !!!

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



Re: Re: RL-Feuerwerk (Schrumpfi, 25. Nov 1995, 17:51:27):
#! rn=Jerrico rt=817221109
So, ich wollt eigentlich meinen Senf nicht auch noch dazu abgeben, weil ich
es  fuer furchtbar uebertrieben halte was da jetzt so ab geht. Aber in
Anbetracht der ganzen Schreierei muss ich einfach auch mal was dazu sagen.
]Es ist ein Objekt geproggt worden, womit man ein Massaker veranstalten kann.
]Ein Spieler hat es ausprobiert und damit ein 5 PKs gemacht. Ist meiner
Meinung nach nicht ok und er gehoert irgendwie zur Rechenschaft gezogen.
Silvana dafuer verantwortlich zu machen, find ich von vornerein mal voellig
daneben. Keiner hat Boing verantwortlich gemacht, als Zuerileu auch 5 (oder
waren es mehr?) Leute damit zu Lars geschickt hat. Zuerileu wurde zur
Rechenschaft gezogen, alle haben  sich koeniglich amuesiert und keiner hat von
banish oder aehnlichem geprochen (Sorry Zueri, das solch jetzt keineswegs
gegen Dich gerichtet sein), die Sache war somit gegessen und fertig. Was ihr
jetzt mit Magicolli macht, is fuer mich nichts anderes als Hetze und wenn ich
er waere, wuerd ich wahrscheinlich ganz genauso reagieren! Bzw ich wuerd mir
ueberlegen, was ich hier eigentlich will.
]Er hat Scheisse gebaut und soll das auch verantworten aber was ihr macht is
nix anderes was unsere Kronen Zeitung mit 'Verbrechern' macht. Man sollte mal
im MG einen elektrischen Stuhl oder so einrichten. Oder einen Pranger, hatten
wir ja eh in der Diskussion auch erwaehnt. Ich versteh Silvana voellig, dass
sie sauer ist. Waer ich auch, wenn ich ein Objekt progge und die Spieler gehen
damit auf Spielerjagt. Aber das ist nicht der Punkt. Ihr betreibt hier Hetze
und das geht mir ziemlich auf die Nerven!! Wenn ihr schon immer RL so schoen
in die Geschichte
miteinbezieht, moecht ich mal nicht wissen, was ihr mit den 'Verbrechern' die
in RL im Knast sitzen vor habt. Erinnert mich stark an die Hexenverbrennungen
wo alle schrein: Verbennt Sie! Verbrennt Sie!
Oder an das Leben des Brian: Steinigt Ihn!
Schrumpfi fasst sich an den Kopp


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



Re^3: RL-Feuerwerk (Zuerileu, 26. Nov 1995, 03:14:35):
#! rn=Schrumpfi rt=817318287
Sali zaeme,
Nun Schrumpfi du hast nicht ganz unrecht, mir ist was aendliches in der Gilde
auch passiert. Nur war das damals etwas fahrlaessig, ich habe brennedes
Dynamit an einen anderen magier gegeben der es darauf auf den Boden geworfen
hat. Das resultat war 8ich mag mich nicht mehr genau erinnern) das 3 Seher, 2
normale Spieler und 2 Gaeste dabei draufgegangen sind. Ich wurde dafuer zur
rechenschaft gezogen und bestraft. Der einzige unterschied zwischen den beiden
Geschichten ist nur das ich nicht damit Gewertet habe das der Tot von Gaeste
und kleineren Spielern weniger schlimm ist als der tot von Sehern oder hls
(hoch-level-spielern). Ich sehe heute noch ein das ich damals unvorsichtig war
und zu recht dafuer bestraft wurde. Ich wuerde niee auf die idee kommen und
Boing die schuld in die Schuhe zu schieben, weil er Dynamit geproggt hat das
anderen Spielern schaden zufuegen kann. Ich finde das Silvana in keinster
weise Schuld daran haben kann, das ihre Raketen anderen Spielern schaden
zufuegen koennen. Das kann naemlich andere Dinge (Schwerter, Messer, Dolch
u.a. Haende) auch, keiner wuerde aber den Programmierer solcher Dinge zur
rechenschaft ziehen wenn damit ein anderer Spieler gekillt wuerde
(Playerkill). ich zaehle da bei jedem Spieler auf seinen gesunden
Menschenverstand das er gefaerliche Dinge so behandelt wie es richtig ist und
wie er damit anderen keinen schaden zufuegen kann. Wenn einer diese
natuerliche Regeln bricht, in dem er Dynamit (oder Feuerwerkskoerper) in
Raeumen anzuendet und wegwirft, er mit einem Schwert oder Messer auf einen
anderen Spieler los geht oder mit blossen Haenden Jemanden angreift, dann muss
derjenige bestraft werden denn mit nur wenig Grips haet er selber auf die Idee
kommen muessen das er was unrechtes tut. Beim Dynamit und beim Feuerwerk wird
gross darauf hingewiesen das der gebrauch gefaerlich ist und gewisse Gefahren
mitsich zieht, man muss es halt nur vor gebrauch lesen. Sonst muessen wir
naemlich wirklich Boings (oder wars Rochus) vorschlag befolgen und jegliche
gefaerliche Sachen
 in Morgengrauen abschafen, da man an Kinder keine gefaerlichen Sachen geben
darf! Oder wenigstens jeweils die Warnung beifuehgen: Kinder, sowas bitte nur
in anwesenheit von Mammi und Papi ausprobieren, denn es ist sehr gefaerlich!

Tschuess Kinder, euer Zuerileu

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



Re: Nenene... (Jof, 27. Nov 1995, 10:03:27):
#! rn=Grimmborn rt=817219321


 Ich kann zwar in RL keine Atombombe kaufen (die, im Gegensatz zum
Feuerwerk,
speziell und ausschliesslich zum Ermorden von Menschen gebaut wurde), wohl
aber einen Kanister Benzin, mit dem ich nach Belieben Studiwohnheime, Autos
und was sonst noch so rumsteht in Brand setzen kann. Ich habe den leisen
Verdacht, dass ich TROTZ der freien Verfuegbarkeit von Benzin in dem Fall
Probleme kriegen wuerde.

 Uebrigens hat MG derzeit ca 6000 Savefiles und belegt einige 100 MB auf
der Festplatte des Mudrechners. Eine Loeschung von MagicOlli wuerde 1
Savefile
und einige wenige Kilobyte Daten kosten, also gemessen am Gesamtvolumen unge=
faehr gar nichts. Wenn wir also anfangen, Rechnungen (nur 350 EP!)
aufzumachen,
siehts fuer Playerkiller ziemlich schlecht aus, weil wir sie bedenkenlos
loeschen koennen. Was man dem Einzelnen damit zufuegt, scheint ja (zumindest
fuer MO) leider nicht mehr zu interessieren.

Jof

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



Re^8: Feuerwerk (Jof, 27. Nov 1995, 10:23:37):
#! rn=Bongo rt=817219968

 Klar bist Du im RL schuldig, wenn Du jemanden mit einem Feuerwerkskoerper
killst, sofern ein hinreichender Warnhinweis auf dem Teil steht (wie es in FW
der Fall war).

 Zur Klarstellung: Ich rege mich nicht so sehr ueber die PKs auf von MO,
sowas kommt leider oefter vor - ich rege mich auf ueber die besch***** Ein-
stellung "Es-waren-doch-nur-Gaeste-und-Anfaenger" auf - das darf doch nicht
wahr sein. WENN man den Wert eines Spielers ueberhaupt messen kann, dann ganz
sicher nicht an ihren EPs oder APs oder ihrem Alter!!!!

Jof

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



bibliothek (Li, 27. Nov 1995, 10:48:40):
ni Hao!
Der Moench Bibliothekar in xian hat durch eine Missverstaendnis mit mir
verkaufbaren buecher nur an Magier abgegeben. Der Irrrtum wurde nun
aufgeklaert und alleverkaufbaren buecher sind nun frei verkauflich...



zum Thema Raketen nur soviel: Ich werde keine "realistischen" Objekte mehr
proggen, wenn sie zum Playerkill missbraucht wurden.
Aeh, werden koennen. Ich dachte ebenso wie silvana, dass man Raketen nur um
des Feuerwerks Willen abbbrennen wuerde, und der schaden als Warnung fuer den
Zuender, wie es ja auch geschieht, wenn die rakete in der Hand explodiert.
Ok, es war vieleicht etwas naiv von mir, anzunehmen, jemand koenne die rakete
nur wegen der bunten Farben schoen finden...
aber ich dachte halt, Spieler besaessen genug gesunden Menschenverstand, um
die rakete nich aus versehen im Raum zuenden wuerden. Das jemand die Rakete
absichtlich irgendwo hinschmeisst, habe ich nicht einkalkuliert, weil ich
dachte, ein playerkill wird schon keiner riskieren (und so etwas sit einer,
was gibt es da zu diskutieren?)
Das geht jetzt nicht gegen MO, eine Hetzte tiet unter der Guertellinie hat er
nicht verdient, wenn ich auch seine Ansichten etwas erschreckend finde.(oder
schmollt er nur und denkt sich:jetzt erst recht?)
Naja, wie gesagt, ich werde keine schoene, weil realistische gegenstaende
proggen, um mich dann anpflaumen zu lassen, ich haette etwas falsch geproggt,
nur weil spieler eben doch nicht die regeln einhalten!
Li (ist nicht beleidigt oder so, auch wenn der letzte Satz vieleicht so
klingen mag)

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



Re: bibliothek (Mindolluin, 27. Nov 1995, 11:06:33):
#! rn=Li rt=817465720
Spieler besitzen nunmal keinen gesunden Menschenverstand, sagen wir
besser: Es gilt nicht fuer alle Spieler, dass sie gesunden Menschen-
verstand besitzen, es ex. immer ein Spieler der keinen gesunden
Menschenverstand besitzt.
Und ich bin genauso der Meinung dass das Leben eines Gastes genausoviel
wert ist wie das Leben eines SHS (Superhohen Sehers) ausgenommen der
Seher hat selbst einen Gast reingeholt um damit was zu testen.

        *wave*

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



Re: bibliothek (Fyt, 27. Nov 1995, 11:10:58):
#! rn=Li rt=817465720
Gan bei, Li *hick*
:
Is ja nett, ich hatte nach der Entdeckung von Xian mehrmals
gefragt, wieso man die Buecheer nicht lesen kann, und irgendwann
mal von nem Magier gehoert, das waere schon ok so, da da
Zuegs drinstuende, das Spieler nix angeht...
Interpretier ich das richtig, dass der mich da verschaukelt
hat, oder sind die Buecher umgeschrieben worden?
:
Fyt, fies grinsend.

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



Re^6: Feuerwerk (Mango, 27. Nov 1995, 12:38:17):
#! rn=Magicolli rt=817212296
Nun auch mal ich.

Ich kann Magicolli nur zustimmen, warum werden solche Sachen
geproggt wenn man sie nachher nicht benuetzen darf. Wer macht
denn hier nicht Sachen die er oder sie in RL nicht machen wuerde?
Warum darf ich hier nicht mal ne Raket in nem Zimmer zuenden?
Ist doch mal interessant bzw lustig das mal auszutesten, wenns
denn auch noch funzt :). Dann sollte das vom zustaendigen Magier
so narrensicher geproggt werden das halt keiner ausser derjenige
draufgehen kann der das Ding gezuendelt hat, sofern er noch im
Raum steht. Aber danach wenns schon passiert ist auf dem
"Schuldigen" herumzuhacken weil ers getan hat ist nicht fair.
Frueher oder spaeter waer's sowieso passiert, wer hat denn nicht
gewusst was denn in den Raketen steckt? Wenn schon ausgebaut
wurde das sie NPC's keinen Schaden mehr zufuegen warum dann nicht
auch die Spielernichttoetende variante der Rakete herausgeben?



Mango, der auch Spass daran hatte eine Rakete in der Karategilde
       zu zuenden und zu sehen wie alle blind durch die Gegend
       laufen.



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



Re^10: Feuerwerk (Pampers, 27. Nov 1995, 12:48:29):
#! rn=Isnogood rt=817224645
Mahlzeit!
Danke Isnogood.... :-)
Sehe ich auch so.

Pampers. Der Magicolli nicht nur, aber auch deshalb verteidigt, weil er einer
dr ganz
wenigen Hochlevelsehern ist, der mir half, als ich noch Newbie war.... :)

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



Re: wohin fuehrt das alles ? (Pampers, 27. Nov 1995, 12:53:06):
#! rn=Ryne rt=817226087
Mahlzeit!
Wertezerfall... Technokratisches Zeitalter... Was fuer'n Quark...
Bist du in der Politik taetig??
Pampers. Kann Deutsch, versteht aber trotzdem nicht, was hinter solchen
Worthuesen stecken soll.

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



Re: Re: Feuerwerk (Durian, 27. Nov 1995, 12:53:53):
#! rn=Larissa rt=817232444

Wie Recht Du hast, Larissa. Leider erscheint mir d.fernwest zur Zeit
nicht wie ein Spiel, sondern wie ein Gerichtssaal, den viele Leute
dazu benutzen, sich zu profilieren. Ob ihnen das nun gelingt oder nicht.

So, liebe Leute, jeder durfte mal, und jetzt machen wir wieder weiter,
okay?

Mit Ironie und Sarkasmus

- Durian

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



Re: Re: wohin fuehrt das alles ? (Pampers, 27. Nov 1995, 12:55:06):
#! rn=Pampers rt=817473186
Worthuelsen meine ich. :)

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



Re^3: wohin fuehrt das alles ? (Felagund, 27. Nov 1995, 14:18:23):
#! rn=Pampers rt=817473306
Also es scheint immer noch Leute zu geben, die meinen MO wollte mal testen,
ob feuerwerk im Raum ueberhaupt funzt...soweit ich das verstanden hab wusste
er aber schon, dass das Zeugs Schaden verursacht und wollte wohl eher testen,
wieviele Leute er umpusten kann, ohne bestraft zu werden und die Strafe dafuer
hat er ja erhalten.
Ich bin ziemlich davon ueberzeugt, dass ER seinen Fehler sehr wohl einsieht,
es nervt allerdings ziemlich, wenn jetzt alle meinen, darin irgendeinen Unfall
zu sehen.
gruss...Fela

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



Re^3: Feuerwerk (Asmodis, 27. Nov 1995, 14:19:17):
#! rn=Durian rt=817473233
Jo, warum gehen wir nicht alle nach d.wueste ? :)

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



Re: Re: PK (Elric, 27. Nov 1995, 15:06:09):
#! rn=Acrimon rt=817260640
BUHUHUHUHUHIHIHIUAAAAHAHAHAHAHAHAIHIHIHIIIIII!
Vielleicht sollten wir 'ne Morgengraeuliche Studentenverbindug gruenden, die
sich dann intensiv mit den Begriffen Ehre und _Mannhaftigkeit_
auseinandersetzen kann *rotfl*
Acrimon, eindeutig die falsche Rubrik. Ab nach Muell.
Elric

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



Re^3: PK (Cuchullin, 27. Nov 1995, 15:15:36):
#! rn=Elric rt=817481169



Ist das so schwer zu begreifen, dass dies hier ein Spiel ist?

Ist das so schwer zu begreifen, dass hier jeder, der Spass haben will, auch
Spass haben koennen soll?

Ist das so schwer zu begreifen, dass Spass auf Kosten anderer einfach kein
toller Spass ist?

Cuch.-


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



Re^3: PK (Acrimon, 27. Nov 1995, 15:37:16):
#! rn=Elric rt=817481169
Nun, Elric, wenn du lieber alles hinterruecks machst und dir saemtliche Moral
gestohlen bleiben kann, dann kann ich Dich leider nicht daran hindern.
Aber denke daran, dasz du anderen Leuten dann ein Aergernis bist.
Ehre hat etwas mit Ehrlichkeit zu tun.
Und ob du es glaubst oder nicht - auch als Einzelner hat man mehr davon, wenn
man mit und fuer die Anderen arbeitet, als wenn man versucht, die Anderen
hinterruecks zum eigenen Vorteil auszustechen.

Verurteile nicht von vornherein Ehre und Moral.

Acrimon, der Rote Ritter

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



Re^4: PK (Elric, 27. Nov 1995, 15:51:52):
#! rn=Acrimon rt=817483036
Ich verurteile nicht ehre und Moral sondern ich lache darueber, es als
ehrenhaft und _mannhaft_ zu bezeichnen, einen PK mit der Waffe und nicht mit
einem huebschen kleinen Sprengsatz zu begehen. Der einzige Unterschied (fuer
mich) dabei ist, dass man als schwaecherer Charakter mit der Waffe keine
Chance gegen einen staerkeren hat, mit dem Sprengsatz dagegen.... Einen PK im
Kampf als in irgendeiner weise als "besser" darzustellen halte ich daher fuer
reichlich unangebracht.Ich hoffe, das war verstaendlich.
Gleiches Unrecht fuer alle! Verteilt Handgranaten an blutige Anfaenger!
Ich hoffe, dass der ernstgemeinte und der nicht soo ernstgemeinte Teil dieses
Artikels gut voneinander zu unterscheiden sind.
Elric.

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



Re^3: Feuerwerk (Raffi, 27. Nov 1995, 16:07:40):
#! rn=Durian rt=817473233

Li:
Keine 'echten' Sachen mehr zu proggen ist wohl schmarn -
auf der anderen Seite jedoch 'echte' Sachen mit unechten
Folgen um so mehr - Ich hab schon mehrere Feuerwerks-
explosionen in geschlossenen Raumen mitgemacht, und Du
darfst mir glauben, dass ich (ausser einigen kleinen
Brandwunden) Keine Probleme hatte - Wenn das Zeug nur
Feuerwerk ist, darf sowas wie letzte Woche erstgarnicht
vorkommen. Um (mehr oder weniger) unbeabsichtigten PK
zu vermeiden eignet sich ja eine Einschraenkung wie sie
ganz am Anfang der Disk maal vorgeschlagen wurde: Der
Gegenstand kann die LP einfach nicht unter 1 senken!
Dann ist auch kein PK moeglich.

Gruss
H. (Begeisterter 'Tisch'feuerwerker)

P.S.: USA-Today ist besser als Bid - die haben
      wenigstens ne Farbige Wetterkarte :)

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



Re^5: PK (Raffi, 27. Nov 1995, 16:09:17):
#! rn=Elric rt=817483912

Elrik:

Wie waers gleich mit einem 'politisch Korrektem' MG ?


Pruuuuuust.
Gruss
H.

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



Re: noch mal feuerwerk (Augra, 27. Nov 1995, 16:47:23):
#! rn=Nixihou rt=817230780
Von wegen 10mla ZISCHHHH...ich stand in der Chaosgilde, als nebe mir son ding
hochging, ein Zischen hab ich erst gehoert, als der Anfaenger neben mir schon
ueber die Nabla gewuppert war. Gerade ueber die mangelnde Warnung hab ich mich
ja geaergert...

Augra

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



Re^4: Feuerwerk (Predator, 27. Nov 1995, 20:20:17):
#! rn=Raffi rt=817484860
Genau das ist's. Feuerwerk wieder rein ins MG, bissl abgeaendert (LP's !<1)
und die Probleme oder besser gesagt die GEfahr eines erneuten PK's ist vorbei

Pred :)

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



Re^7: Feuerwerk (Zuerileu, 28. Nov 1995, 01:34:30):
#! rn=Mango rt=817472297
Sali,
Sehr traurig das wir schon an so einem Standpunkt angekommen sind, wenn
solche Leute Magier werden die mit so einer einstellung wie deiner Leben,
dann, dann.. oh ich mag nicht an solche eine situation denken. Wenn du es
lustig findest das andere Spieler blind durch die gegend laufen dann tust du
mir leid Mango. Und wenn du wirklich selber nicht die veratwortung fuer deine
Taten selber uebernehmen kannst das du etwas gefaerliches in deinen Haenden
haelst und das dabei Spieler zu schaden kommen koennten, und Dich das nicht
kuemmert, dann kann man Dir warscheinlich nicht mehr helfen.

Zuerileu (fragt sich was aus dem alten Morgengrauen wohl geworden ist)

PS: evtl. muessten wir einen Kindergarten programmieren fuer Spieler die noch
      nicht reif genug sind um auf andere losgelassen zu werden.

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



Re^8: Feuerwerk (Schrumpfi, 28. Nov 1995, 01:37:13):
#! rn=Zuerileu rt=817518870
Koenntet ihr die Diksussion mal in polizei.beschwerden verlegen? Ich bin es
naemlich leid! Und ich bin mir sicher, dass ich nicht die einzige bin. Ich
kann diese ganze in Moral zertriefende Story nicht mehr hoeren. Verlegt Euren
Zank bitte in ne passende Rubrik. Ich mag d.fernwest naemlich nicht
abbestellen. Ich will
wissen was sich in fernwest so tut aber das hier interessiert mich nicht.
Schrumpfi - genervt!

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



Re^6: Feuerwerk (Schrumpfi, 28. Nov 1995, 01:42:13):
#! rn=Zuerileu rt=817519274
So wie das Dynamit?
Schrumpfi

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



Re^5: Feuerwerk (Zuerileu, 28. Nov 1995, 01:44:36):
#! rn=Predator rt=817500017
Sali Predator,
Ja wenn sich die Kinder nicht anpassen koennen muss man halt das Spielzeug
Kinderfreundlich gestalten.

Zuerileu (genervt ueber den kindergarten)

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



Re^6: Feuerwerk (Silvana, 28. Nov 1995, 09:02:07):
#! rn=Bongo rt=817218873
Auch, wenn die Antwort in den noch zum lesenden 100 Artikeln auch zu lesen
ist: Die Raketen waren NICHT dazu da, irgendwen zu toeten. Weder Spieler
noch NPCs.
Silvana.

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



Re^10: Feuerwerk (Silvana, 28. Nov 1995, 09:21:32):
#! rn=Isnogood rt=817224645
Zitat:
> Wenn ich ein Feuerwerk anzuende, dann tue ich es, um ein Feuerwerk zu
sehen.

Ja, genau so war es auch gedacht. Und ich halte Dich auch fuer klug genug,
dann EINE Rakete anzuzuenden und die Dir anzusehen und dann evtl die
naechste. Was MagicOlli gemacht hat, war leider etwas anderes. Er hat inner-
halb von 3sec ganze 8 Raketen gezuendet - und die ALLE an einem Ort,
naemlich DRINNEN, neben einer Reihe von Spielern. Das hat nichts mit
Feuerwerk bestaunen zu tun (zumal er danach direkt gefluechtet ist, genau
wissend, was er da anrichtet). Das ist vorsaetzlicher Playerkill.

So, jetzt reichts mir aber mit der Diskussion. MagicOlli hat
Mist gebaut und seinen PK dafuer kassiert und damit ist gut. Dass man
ihm dafuer im RL Raketen in ... schiebenwill, find ich gelinde gesagt
uebertrieben.

Silvana - wundert sich, was sie da wieder losgetreten hat...

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



Re^12: 0 (Silvana, 28. Nov 1995, 09:27:41):
#! rn=Terrorist rt=817225097
Ich hatte damit gerechnet, dass sich ein paar Spieler die Finger daran
verbrennen. Das das Zeug gezielt fuer Mordanschlaege genutzt wird, damit
hab ich nicht im Traum gerechnet. Aber ich hab mich schon oefter bezueglich
des Charakters von Menschen getaeuscht. Vielleicht lerne ich's ja doch
irgendwann noch, dann man von jedem erst mal das schlimmste annehmen muss,
bis man eines besseren belehrt wird - und nicht andersrum

Silvana - seufzend.

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



Re^4: Feuerwerk (Silvana, 28. Nov 1995, 10:24:44):
#! rn=Raffi rt=817484860
Wenn man genau weiss, was man tut, kann man natuerlich kleinere Feuerwerks-
koerper drinnen zuenden, ohne dabei ernsten Schaden zu nehmen (Wenn gleich
das immer noch grob fahrlaessig ist). Aber eine einzige Rakete toetet auch
keinen gesunden Spieler. Allerdings moechte ich werde im RL noch in VL in
der Naehe sein, wenn drinnen ACHT grosse Raketen gleichzeitig hochgehen.
Sowas kann in der Tat sehr schnell toedlich sein.

Silvana

PS: Ein Klassenkamarad von mir hat bei so einem Experiment mit EINER Rakete
    seine rechte Hand verloren, denn er wusste nicht, was er tut. Also
    sei vorsichtig mit Feuerwerk drinnen!

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



Re^11: Feuerwerk (Tasha, 28. Nov 1995, 14:17:09):
#! rn=Silvana rt=817546892
Leute, jetzt zitiert mich nicht falsch! Oder lest zumindest genau, was ich
geschrieben habe. Sogar ne klarstellung hab ich hier schon reingesetzt.

Langsam ueberlegend, ob Acrimon mit seiner Irnoie nicht doch recht hat, Tasha

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



schluss jetzt ! (Jimdigriz, 28. Nov 1995, 15:32:35):
Ich denk jetzt reichts, jeder hat lang und breit seine Meinungen
zu dem Thema breitgetretenn. Dadurch das alles noch 10 x wiederholt
wird aendert sich aber acuh gar nix.
Also hiermit fordere ich das ende dieses entsetzlich langweilenden Threads.

In diesem Sinne "uebergehe d.fernwest"

James Bolivar diGriz

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



Re^8: Feuerwerk (Mango, 28. Nov 1995, 15:58:25):
#! rn=Zuerileu rt=817518870


Das die Blindheit ein kleiner einfallsreicher Gag in der Rakete
ist, wenn man sie in nem Raum zuendet, wusste ich nicht denn ich
war danach auch blind und hab mich nach der Aktion auch gleich
kundig gemacht von welchem Ausmass die Blindheit ist. War
also absolut ungewollt, ich schien auch der erste gewesen zu sein
der die Rakete auf diese Art und Weise "getestet" hatte, denn
erst danach ging es los mit der Sterberei. Ich finde wenn ein
Magier schon ein Teil proggt welches unbeiteilgten Playern Lp's
abzieht dann sollte es wenigstens so sein das es nicht zum Tod
der unbeteiligten fuehren kann, das Krasse an der ganzen Sache
ist ja noch, das ausgebaut wurde das die Rakete NPC's keinen
Schaden zufuegt. Wegen mir koennte derjenige der die Rakete
zuendet drauf gehen, weil ich haette es nicht probiert noch mehr
Rakete in einem geschlossenen Raum zu zuenden.
(Durch Schaden wird man Klug bzw sollte es werden.)




Mango, ist ein Kind und wird wohl auch immer eins bleiben.


PS: und darauf ob ich hier Magier werde kannste lange warten
    (kannst also beruhigt sein das ein Kind Magier wird und
    Unheil anstellt).



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



Re: Re: PK (Sushi, 28. Nov 1995, 23:22:11):
#! rn=Acrimon rt=817260640
Genau... Ich denke noch heute mit Grauen an die 8 Wochen nach dem Taenzchen
mit Flo zurueck.
Und an die 9 Tage, um die Catwaezles Kalender falschging.


Sushi!

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



Re^9: Feuerwerk (Li, 29. Nov 1995, 09:13:21):
#! rn=Mango rt=817570705
ist jetzt nicht langsam genug? silvana hat doch lang und breit erklaert,
warum das Feuerwerk NPCs keinen schaden anrichtet und bei PCs schon.
Das lag jedenfalls nicht daran, um die "ach so armen" Spieler zu aergern.
Also lasst es doch jetzt bitte. Das Feuerwerk wird irgendwann widerkehren,
aber wann und in welcher form werden wir noch sehen.
Li

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



Re^10: Feuerwerk (Lwaxana, 29. Nov 1995, 15:30:04):
#! rn=Li rt=817632801
Seid ihr jetzt endlich fertig mit der Diskussion?

Am Anfang war sie ja noch interessant, aber jetzt ist es doch wirklich genug,
oder?
Wenn ich die anzahl der Artikel sehe, habe ich Hoffnung, das jetzt Ruhe
ist...

*grins*

Tschau achwieschoendassnairolfweisswieichheiss

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



Re^11: Feuerwerk (Jerrico, 29. Nov 1995, 17:59:37):
#! rn=Lwaxana rt=817655404
Okay jetzt darf jeder noch einen Artikel schreiben, dass die Feuerwerk
Diskussion beendet ist.

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



Re^12: Feuerwerk (Rochus, 29. Nov 1995, 18:05:34):
#! rn=Jerrico rt=817664377
Sie ist jetzt beendet, weil ich naemlich die Anzahl der
moeglichen Artikel soeben auf 136 festgelegt habe :-)

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



Re^13: Feuerwerk (Mindolluin, 30. Nov 1995, 08:00:32):
#! rn=Rochus rt=817664734
Was wo? :) Ich hab noch nen Artikel zum loeschen gefunden.

  Caradhras grinst Rochus frech an

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



Re^13: Feuerwerk (Grimmborn, 30. Nov 1995, 10:33:15):
#! rn=Rochus rt=817664734

Ist schon erstaunlich, in welchen Rubriken man von wem Artikel loeschen
darf...

Also: Diskussion um Feuerwerk IST BEENDET!

Wer haette das gedacht...

Grimmborn der Atheist

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



Re^14 Feuerwerk (Roesti, 30. Nov 1995, 10:52:05):
Ist sie Geschlossen?

Ja ja... Nicht schlagen... Ich will auch immer braf sein...:)

Roesti geht das ganze nix an...:)

:)

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



Tai-Ginseng jetzt im Sonderangebot! (Ulo, 12. Feb 1996, 01:14:32):
Hallo Leute!

Ich persoenlich finde es immer etwas peinlich, wenn Magier, die gerade
Quest fertiggestellt haben, einige Artikel der Art 'man hat mir gerade
berichtet, dass ein neuer Weg in XXX gefunden worden sein soll' in die
Zeitung setzen, um auf die Quest aufmerksam zu machen. Hat diese Quest
das etwa noetig? Wenn ja, dann wird das wohl irgendsoein Sch... sein.
So eine Ankuendigung, dass meine Quest fertig und angeschlossen ist, werde
ich mir definitiv verkneifen!

Ulo (*heuchel heuchel*:)

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



Re: Tai-Ginseng jetzt im Sonderangebot! (Asmodis, 12. Feb 1996, 14:44:12):
~#! rn=Ulo rt=824084072
~#! tid=824084072
Aeh, das finde ich nicht richtig, wenn man keinen Hinweis vom Wanderer
erhaelt,
wo die Quest ueberhaupt anfaengt, oder WIE man anfaengt.
Solche kleinen Artikel, die einen hinleiten sind schon nuetzlich.

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



Re: Re: Tai-Ginseng jetzt im Sonderangebot! (Catweazle, 12. Feb 1996, 15:20:18):
~#! rn=Asmodis rt=824132652
~#! tid=824084072
Asmodis, ich glaube Du hast den Artikel von Ulo ueberhaupt nicht
verstanden :-)
 YTC

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



Re^3: Tai-Ginseng jetzt im Sonderangebot! (Boing, 12. Feb 1996, 15:25:12):
~#! rn=Catweazle rt=824134818
~#! tid=824084072
Catweazle, ich glaube Du hast den Artikel von Asmodis ueberhaupt nicht
verstanden :-)
  Boing

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



Re^4: Tai-Ginseng jetzt im Sonderangebot! (Fyt, 12. Feb 1996, 16:58:58):
~#! rn=Boing rt=824135112
~#! tid=824084072

Mein Jof, seid ihr heute wieder verstaendnis voll :)

Aber in dem Zusammenhang: Der Wanderer ist nicht besonders gespraechig,
zumindest nicht so, dass es seiner 'zentrale Rolle als Questleitstelle'
gerecht wuerde... is mir wieder mal beim Viertiespielen aufgefallen.

Ich glaub, es waere netter, wenn er mehr Informationen zu den Quests
geben wuerde, das uebliche Verfahren: Anfaenger A: wo geht <xxx> los
Seher B: frag den wanderer, A nach ner Viertelstunde: der sagt es auch
nicht is fuer Newbies dcoh etwas nervend...

Fyt. Heute mal Punkte an Engy und Tryfan und einen halben an Isno
verteilend.

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



Lan Wun jetzt auf Krankenschein ? (Ulo, 13. Feb 1996, 13:23:33):
Hallo!

Einige Spieler meinten, dass sie bei Lan Wun zu lange im Wartezimmer sitzen
mussten. Das hat sich jetzt geaendert, die durchschnittliche Wartezeit
sollte jetzt etwa ein zehntel betragen.

Gute Besserung wuenscht
  Ulo

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



Re^5: Tai-Ginseng jetzt im Sonderangebot! (Paracelsus, 13. Feb 1996, 13:31:23):
~#! rn=Fyt rt=824140738
~#! tid=824084072
Naja, wenn meine Bibliothek fertig ist, koennen die entspr. Magier da ja
kleine "Einfuehrungstexte" zu ihren Quests reinsetzen.
Aber das dauert noch ...
Para ]:-)

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



Danksagung! (Ulo,  1. Apr 1996, 14:59:50):
Liebe Spieler, Seher und Magier!

Ich moechte mich hiermit ausdruecklich bedanken fuer eingegangene Quest-
beurteilungen, Typomeldungen sowie Ideen. Ich werde bis zur grossen Feier
anlaesslich des Jahrestages der Fernwesteroeffnung (17.Juli) jedem, der
bis jetzt Vorschlaege gemacht hat, antworten und berichten, was und warum
sich etwas getan oder nicht getan hat. Bei der Umsetzung der Vorschlaege
werde ich mich zwar mit meiner Regionsmagierin abstimmen muessen, aber
ich bin zuversichtlich, dass wir zusammen Fernwest noch ein bisschen schoener
machen koennen.

An Euch:     D  A  N  K  E  S  C  H  O  E  N     !

Ulo.

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



Bibliothek (Li, 23. Apr 1996, 12:14:43):
Ni Hao!
In der bibliothek in xian gibt es zwei neue Schriftrollen zu kaufen.
Sie sind die ersten Beiden in einer Reihe ueber Kultur und Weltanscauungen in
Fernwest, die ich in lockerer Reihenfolge veroeffentlichen will.
Die Erste behandelt dasSystem der magischen Entsprechungen, die zweite
Religionen und Kosmologie, wo Begriffe wie Yin/Yang oder FengShui behandelt
werden.
Weitere geplante Themen: Sitten und Gebraeuche, Essen und Trinken, und
aehnliches.
Li (heute Soziologe)

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



Re: Bibliothek (Kretek, 24. Apr 1996, 16:09:38):
~#! rn=Li rt=830254483
~#! tid=830254483
Wird es auch eine Abhandlung ueber das JamJam geben? :)
-> schmarrn

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: Re: Anfaengergebiet (Li, 20. Mai 1996, 11:33:31):
~#! rn=Acrimon rt=832584688
~#! tid=832584442
Hmm, denk doch mal nach: wenn dort nicht jeder hin kann, gibts dort weder FPs
noch Zts (aber viele leichte Monster zum Ueben)

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



Anfaengergebiet (Li, 20. Mai 1996, 11:37:03):
Ni Hao!
auf dem Weg vom Karawanenplatz nach Westen kann man nun ein Schilfgebiet
besuchen. dieses Schilfgebiet kann man nur als "Anfaenger" betreten. D.h.
nicht als Spielanfaenger, sondern auch als Neuling in einer Gilde.
Dies sollte die Hochebene etwas entlasten.
Li

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



Re: Anfaengergebiet (Bendeigid, 20. Mai 1996, 18:58:43):
~#! rn=Li rt=832585023
~#! tid=832585023
Da bin ich gaaaaaanz sicher, Li. Wenn, ja wenn der Weg dahin nicht so
umstaendlich waere wie der zur HE. Ausser den Hobbits wohnt ja keiner "um die
ecke", und die Karawanenfrequenz.... naja, ich hab goto :))

Z'par Servu,
              Bendeigid

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



Konfusius-Quest (Mupfel, 13. Jun 1996, 20:11:25):
Wenn man die Konfusius-Quest ein zweites Mal macht, bekommt man nun keine
Fehlermeldung mehr.

-mupfel-

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



Schmied (Li, 18. Jun 1996, 09:53:06):
Han Tso, der Schmied von Xian hat sein Taetigkeitsfeld auf das Reparieren
angeschlagener Waffen oder Restungen erweitert, nachdem ihn immer mehr
Abenteurer darum gebeten haben.

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



Glosse Palty in Felnwest (Ulo, 24. Jun 1996, 14:58:50):
Hallo!

Wie Ihr sicher alle wisst, feiert Fernwest am 17.Juli seinen ersten
Geburtstag. Dazu seid Ihr hiermit alle herzlich eingeladen. An dem Tag
werden die bislang nach dem Taifun verwuesteten Gebiete fuer Spieler 
zugaenglich, und es koennten ja neue Aufgaben dort lauern...
Fuer alle nicht so neugierigen, die bloss mal wieder ne Party besuchen
wollen, werden wir einige Stunden lang FREIBIER aussschenken und einen 
BUSTRANSFER nach Fernwest einrichten.
Weitere Details entnehmen Sie der Tagespresse :)

Ulo.

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



F R E I B I E R ! (Ulo, 17. Jul 1996, 11:24:57):
Hallo!

Heute ist Fernwest 1 Jahr alt geworden! Aus gegebenen Anlass wird daher
auf dem Marktplatz von Xian Freibier ausgeschenkt. Ebenfalls auf den
Marktplaetzen von Xian und PortVain sind magische Feuerringe erschienen.
Diese ermoeglichen NUR HEUTE! den Einfachen Uebergang nach Fernwest.
Also Nix wie hin!

Ulo!

P.S. Geruechten zufolge soll es ja jetzt auch Katakomben unter Xian geben...

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



Katakomben (Li, 17. Jul 1996, 12:43:36):
Naja, Katakomben... Jedenfalls ist es endlich gelungen, die Falltuer in meinem
Haus zu oeffnen. Zum vorschein kam ein altes Gangsystem, dass offensichtlich
vor vielen Jahren von Dieben oder Geheimbuendlern ist.
Sofort habe ich meinen Assistenten Ochse hinuntergeschickt, der nach kurzer
Zeit mit voellig verwirrt zurueckkam und brabbelte: "Schneesturm.... fast
gelaehmt... Untote... reiches Grab....
Naja, er wird ich jetzt erst mal etwas ausruhen, aber ich hoffe doch, dass ihr
mehr herausfinden koennt.
Li

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



Re: F R E I B I E R ! (Har, 17. Jul 1996, 12:54:20):
~#! rn=Ulo rt=837595497
~#! tid=837595497
Schoene Sache das, mit den Feuerringen!

Har 

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



Re: F R E I B I E R ! (Boni, 17. Jul 1996, 13:01:20):
~#! rn=Ulo rt=837595497
~#! tid=837595497
Hey!! Super Feuerring!!
Bloed ist nur, dass ich angetrunken nicht durchkam.
Freibier nur fuer Knoblauchtanker?


Boni, kann Bier nicht ausstehen, aber zum Tanken isses prima.

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



Re: Re: F R E I B I E R ! (Ulo, 17. Jul 1996, 14:00:21):
~#! rn=Boni rt=837601280
~#! tid=837595497
Naja ... Erfahrungen mit meinem lieben Freund Jerrico und dessen Ess- und
Trinkgewohnheiten haben mich gleich ein 'kommen-saufen-abhauen'-Sperre 
einbauen lassen, damit ihr nicht bloss zum Saufen nach Fernwest kommt.

Ulo.

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



WWW (Li, 17. Jul 1996, 14:00:47):
Zum Geburtstag von Fernwest hat die Region Fernwest neue, ueberarbeitete
WWW-Seiten bekommen.
schaut doch mal rein!
Li

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



Re^3: F R E I B I E R ! (Jasper, 17. Jul 1996, 14:24:31):
~#! rn=Ulo rt=837604821
~#! tid=837595497
apropos trinkgewohnheiten...welche trinkgewohnheiten, ich stehe hier schon 3
minuten neben ulo und hab noch immer kein bier bekommen.....
ICH WILL FREIBIER :)



Jasper kurz vorm Verdursten

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



Sperrstunde (Ulo, 17. Jul 1996, 16:01:24):
Da auch in Fernwest sperrstunde ist, wird das Freibier und die Ringe nur bis
Mitternacht ausgeschenkt werden, bzw da sein.

Ulo.

P.S. Falls irgendein Magier die Teile nach Mitternacht noch sieht, soll er/sie
bitte loeschen. (Eigentlich verschwinden sie von alleine ... :)

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



Re: WWW (Grimmborn, 18. Jul 1996, 13:34:17):
~#! rn=Li rt=837604847
~#! tid=837604847

Lasst mich raten: Statt "Document contains no data" steht da jetzt "Site under
construction"?

Grinsend, 
          Grimmborn der Atheist

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



Yaka Ona (Li, 22. Jul 1996, 08:04:57):
Hi!
Nachdem sich die ersten Spieler an die Erforschung der Katakomben schlechte
Erfahrungen mit der Yaka Ona gemacht haben, habe ich nun dieses Monster einmal
erforscht und folgendes festgestellt:
1.) Ihr Kommen wird durch zwei verschiedene Meldungen angekuendigt: Durch die
schlagartige Herabsetzung der Temperatur, wenn man ihr nahe kommt, und durch
Schneegestoeber, falls man nur noch einen Raum von ihr entfernt ist.
2.) Es ist moeglich, die Yaka Ona zu umgehen, wenn man zum Grab moechte
3.) Da sie nun schon einige Ausruestung von toten Spielern aufgesammelt und
untersucht hat, scheint ihr Interesse an Spielerausruestung erloschen zu sein.
Li

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



Yaka Ona (Li, 22. Aug 1996, 12:25:41):
Ni hao!
Jaja, der Informationsfluss..
Da sitzt man da und ueberlegt sich, was sollen die Speielr vorher an Infos
bekommen, bevor sie in ein unbekanntes Gebiet kommen, in denen qauch ein
gefaehrliches monster rumlaeuft?
Also frage ich meine MAgierkollegen und die einhelligen Meinung: Sach nichts.
Also sag ich nichts und prompt sterben einige Spieler. (Uebrigens, wenn sie
auch den armen Speiler laehmt, ein wichtiger befehl ging immer...).
Da die Meldungen der Yaka Ona imemr noch nicht ganz in Ordnung sind, werde ich
jetzt einiges dazu sagen:
1. die Yaka Ona laehmt jeden Spieler, der sich mit ihr in einem Raum befindet.
2. Ihre absolute Naehe bekommt man dadurch mitgeteilt, dass ploetzlich ein
Schneegestoeber auftaucht, der ihr Nahen ankuendigt.
3. Etwas weiter entfernt macht sich ihre Anwesenheit duch ploetzlich
auftauchende Kaelte bemerkbar.
4. Sie Wandert, so dasss man ihr ausweichen kann.

zum Grab: Ich hab versucht, das Grab so zu gestalten, dass man mit gesundem
Menschenverstand hindurchkommt. Wer die Fallen nicht entschaerft, hat es
schwerer, aber es ist nicht unmoeglich. Wenn eine Aktion nicht geklappt hat,
heisst es nicht, dass sie nie weder klappt. Schwierige Sachen klappen (wie im
RL auch) halt erst, wenn man es ein paarmal versucht hat... 
Li
P.S. Das Grab ist nicht nur fuer Zauberer interessant...

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



Re: Yaka Ona (Valarian, 22. Aug 1996, 12:50:06):
~#! rn=Li rt=840709541
~#! tid=840709541
Diese komische yaka Ona ist ja im Prinzip keine Gefahr, aber warum gibt es
denn mehrer davon? Als ich am Anfan drin war musste ich merhrer davon
plattmachen und das Grab hab ich trotzdem nicht gefunden :)) Bin ein bisschen
zu bloed dazu. Aber fuer einen Karateka oder Zauberer ist die Yaka echt kein
Problem, fuer alle anderen schon :(

Gruss Val.

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



Lab II (Li, 22. Aug 1996, 13:24:25):
Ok, die Ausgaenge zieschen Ebene 1 und Ebene 2 leigen jetzt auch uebereinander
und nicht versetzt...
*huestel* *raeusper*
Li (ok, genug der Baeume..)

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



Karawane (Li,  9. Sep 1996, 12:16:17):
ni hao!
auch auf die Gefahr hin, dass ich Meldungen bejkomme, von irgendwelchen
Baeumen, die in FW umfallen:
Ich habe die Karawane ein wenig schneller gemacht, in dem ich die
Aufenthaltsorte an den einzlenen Haltepunkten(also auch an den startpunkten)
etwas verkuerzt habe.
Mailt mir doch mal, ob es so in Ordnung ist, oder ob es noch ein wenig
schneller sein darf. die Reisezeiten(die uebrigens auch nicht immer gleich
sind) werden natuerlich nicht gekuerzt, schliesslich ist die Entfernung ja
nicht weniger geworden! .-)
Li

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



Re: Karawane (Lifafa,  9. Sep 1996, 12:29:32):
~#! rn=Li rt=842264177
~#! tid=842264177
   aber moderne Lasttiere sind durch Zuchterfolge und gentechnische
Fortschritte wesentlich schneller als ihre VOrfahren...

                               oder zieht in FW die Moderne nie ein?
                                                      Lifafa

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



Re: Re: Karawane (Li,  9. Sep 1996, 12:32:11):
~#! rn=Lifafa rt=842264972
~#! tid=842264177
Hm,, zuchterfolge? Das waere ne Idee? Aber ertma sehen, wie es so laeft?
Jedenfalls wird es in FW keine Gentechnik ausser Zucht geben..
Verrueckte Zauberer, die versuchen, auf magischem Wege  alle moeglichen tiere
zu kreuzen, gibt es in Fernwest im moment nicht...

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



Re^3: Karawane (Ulo, 12. Sep 1996, 14:22:53):
~#! rn=Li rt=842265131
~#! tid=842264177
Hmm, wir koennten ja mal Lofwyr, Hydra und Weghier kreuzen und eine neue
Monsterzucht eroeffnen, natuerlich auf normalem Weg ... nix Gentechnik :)

Ulo.

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



Re^4: Karawane (Orktoeter, 13. Sep 1996, 09:37:30):
~#! rn=Ulo rt=842530973
~#! tid=842264177
Wird so etwas  nicht in der F&E gemacht ? Ich dachte dafuer waere die da.. ??
OrkT.

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



Shinto ist rechtsfreier Raum (Ulo,  4. Okt 1996, 15:23:45):

Ich habe bis auf Widerspruch von Oben folgende Regelung fuers Shinto erlassen:

DAS SHINTO UND DIE TRAININGSKAMMERN SIND RECHTSFREIER RAUM

weitere Details und ggf die Aufhebung des Erlasses kann man in der rubrik
polizei.beschwerden nachlesen.

Ulo.

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



Grab (Li, 10. Okt 1996, 09:09:57):
Fuer alle, die es noch nicht aufgegeben haben, das Grab unter Xian zu
erforschen ein kleiner Hinweis:
Das MUD leitet sich vom Rollenspiel ab(oder hat zumindestens Aehnlichkeiten).
Deshalb klappt nicht jede Aktion immer zu 100%. will sagen:
Wenn jemanden einmal etwas nicht gelungen ist, heisst das nicht, dass es nie
klappt. Villeicht war man ja zu schwach, zu unaufmerksam, zu ungeschickt?
Natuerlich sind es nur ein paar Dinge dort, die sozusagen ein Wurf gegen eine
Eigenschaft erfordeern, aber die Sachen sind auch entsprechend kommentiert:
"Du hast es diesmal nicht geschafft, versuch es spaeter noch mal" oder "deine
konzentration verlaesst dich diesmal" oder aehnliche Meldungen sollten doch
klar und eindeutug sein, oder?
Li

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



Urlaub (Li, 16. Okt 1996, 12:00:13):
Ni hao!
Da ich vom 20.10 - 3.11. in Urlaub fahre (nein, leider nicht China! ) und auch
Ulo bis Anfang November nur selten da ist, wird es zei Wohen still in Fernwest
sein. Ich hoffe, waehrend der Zeit tauchen keine schwerwiegenden Bugs auf und
ich bitte, die kleinen zu entschuldigen.
Zaijian,
Li

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



Hmmm (Key, 21. Okt 1996, 19:50:53):
Shinto ist ein Rechtsfreier raum?? Also kann ich da alles machen was ich will?
Naja wie waere es wenn ich mag werde un da alle zappe? Ist das auch erlaubt?
:)
Key

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



Re: Hmmm (Lefty, 21. Okt 1996, 21:16:49):
~#! rn=Key rt=845920253
~#! tid=845920253

Klar Key, Du wirst Magier, transt Dir die Spieler ins Shinto und faengst an zu
zappen, natuerlich alles vom Shinto aus. ;-)

Lefty

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



s.fernwest (Key, 23. Okt 1996, 23:06:03):
Joop ist doch erlaubt oder??? ;))=
Key 

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



Re: Re: Hmmm (Ulo, 24. Okt 1996, 06:22:16):
~#! rn=Lefty rt=845925409
~#! tid=845920253

Dass das Shinto kein rechtsfreier Raum fuer Magier ist, ergibt sich wohl
schon aus dem Magiervertrag......

Ulo.

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



Neues (Li, 16. Dez 1996, 09:54:22):
Ni Hao!
Zwei Neuigkeiten in Fernwest:

Ach so: Wer das Haus betritt, nimmt automatisch an der Zeremonie teil, da man
dort keine "Touristen" mag und nur Interessierte "Barbaren" erwartet. 
2.: Die Karawane hat ihren Weg etwas neu ausgekundschaftet und ist nun etwas
schneller unterwegs (nicht viel, aber ein wenig). Um die Reisezeit noch mehr
zu verkuerzen, koennte man noch die aufenthalte an den Rastplaetzen kuerzen,
aber das wuerde auch bedeuten, dass sie Euch leichter vor der Nase wegfaehrt.
Eure Meinungen?
Li

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



Re: Neues (Li, 16. Dez 1996, 09:57:22):
~#! rn=Li rt=850726462
~#! tid=850726462
Nanu, die erste Haelfte fehlt ja?
Also den Anfang nochmal:
1.; In Xian kann man an einer Teezeremonie teilnehmen. Das Haus von Kanagi
Shimbun, dem Teemeister, liegt dem Go-Haus gegenueber.

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



Re: Neues (Dhojakt, 16. Dez 1996, 16:46:43):
~#! rn=Li rt=850726462
~#! tid=850726462
Ist der handelsaufschwung denn noch nicht so fortgeschritten, dass es sich
fuer die haendlermassen, die da rumstehen, lohnt, ne 2. karawane auszuruesten?
khidar.

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



Re: Re: Neues (Jasper, 16. Dez 1996, 18:19:44):
~#! rn=Li rt=850726642
~#! tid=850726462
go-haus ????
du meinst ulos go-KNEIPE :)


der durstige

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



Baeume (Li,  8. Jan 1997, 09:49:53):
Ok, ein paar kleine ankuendigungen:
Der bug in der Teezeremonie ist behoben.
Der Dai Wong Long wurde von seiner uebermenschlichen Ruestung befreit, so dass
ihn nun auch kaempfer ohne magie wieder auf den leib ruecken koennen.
Li

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



Beschreibung der Karawane (Miraka, 22. Jan 1997, 20:43:01):

Da hat wohl wieder jemand bei der Karawane herumgepfuscht:
Die Karawane nach Fernwest ist im Augenblick die Karawane zum Wald.
Die Karawane zum Wald hat immer noch den korrekten Namen.
Bitte beheben :-)

Miraka (freut sich, dass sie mal wieder was zu meckern hat)

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



Re: Beschreibung der Karawane (Li, 27. Jan 1997, 09:54:29):
~#! rn=Miraka rt=853962181 rg=d.fernwest
~#! tid=853962181
Hmm, hast du vielleicht die Karawanen verwechselt? ERst kommt eine Karawane
zum Wald an, die loest sich auf, dann formiert sich einen karawane nach FW.
die dann auch ordnungsgemaess abzockelt.,.
Li

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



Teezeremonie (Li,  3. Feb 1997, 11:48:24):
ni Hao!
Da die Teezeremonie in letzter Zet oefters als Tankhilfe fuer die Karatekas
missbraucht wurde, ist der Genesungseffekt der Zeremonie erst einmal
herabgesetzt worden. Es wird wohl darauf hinauslaufen, dass man nur begrenzt
die Zeremonie auf suchen darf, aber Naeheres werde ich noch mit Kanagi Shimbun
besprechen.
Li

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



Teezeremonie (Li, 17. Feb 1997, 10:29:23):
ni hao!
'Ich habe in die Teezeremonie etwas eingebaut, damit ihr sie als das
Betrachtet, was sie ist: ein Ort der Ruhe und entspannung, und keine
Tankstelle!
Li (heute mal moralinsauer)
P.S. Dui bu tji, silvana! 

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



Re: Teezeremonie (Ulo, 17. Feb 1997, 17:07:53):
~#! rn=Li rt=856171763 rg=d.fernwest
~#! tid=856171763

Jaja, das mit den ungehoerigen Essgewohnheiten (rein, fressen, saufen, raus)
hatten wir schonmal in Fernwest. Sowas kann wirklich die Atmosphaere
ruinieren.

Ulo (denkt an J* :)

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



Das ist doch wohl der Gipfel! (Flora, 15. Mai 1997, 10:40:38):

Also, dass Yamada nicht Go spielen kann, ist ja wohl bekannt; aber auswerten
kann er auch nicht:

Yamada schaut kurz einmal auf.
Yamada sagt: Ich setze aus!
Nach dreimaligem Aussetzen ist das Spiel nun beendet!
   A  B  C  D  E  F  G  H  I  
 9 .  .  O  O  #  #  #  .  . 9  OO   flora   OO
 8 .  .  O  #  #  O  #  #  # 8  
 7 .  .  O  .  O  O  O  #  O 7  ##   yamada  ##   tot: 3 Steine   
 6 .  O  O  O  O  .  O  O  O 6  
 5 O  #  O  #  #  O  .  .  O 5  
 4 .  #  O  #  O  O  O  O  # 4  Der letzte Spielzug war: 
 3 .  #  #  #  #  O  #  #  # 3  Ende des Spiels
 2 .  O  O  O  O  O  .  .  . 2  
 1 .  .  .  .  .  .  .  .  . 1  
   A  B  C  D  E  F  G  H  I     (c)1995 ulo@mg
Yamada zaehlt die Gebiete. Bitte warte noch etwas!
Yamada zaehlt die Gebiete. Bitte warte noch etwas!
Yamada sagt: Ich habe 2 Punkte Gebiet und 22 lebende Steine auf dem Brett.
Yamada sagt: Du hast 10 Punkte Gebiet und 31 lebende Steine auf dem Brett.
Yamada sagt: 16 Punkte Gebiet werden zwischen uns halbe-halbe aufgeteilt.
Yamada sagt: Damit habe ich am Ende 32.0 Punkte und Du hast 49.0 Punkte.


Ich frag mich, wo der Mensch einen lebenden Stein sieht??

Flora (kopfschuettelnd)

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



Re: Das ist doch wohl der Gipfel! (Fyt, 15. Mai 1997, 10:48:17):
~#! rn=Flora rt=863685638 rg=d.fernwest
~#! tid=863685638

Du hast drei Moeglichkeiten:
a) finde Dich damit ab.
b) spiele weiter.
c) programmiere besser.

Fyt.

PS: Die Standardsachene wie selbsloeschung und rituellen Selbstmord zaehl
ich nicht immer auf...

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



Re: Sieben Minuten Ideln in Fernwest. (Li,  8. Aug 1997, 09:35:54):
~#! rn=Fyt rt=870956326 rg=d.fernwest
~#! tid=870956326
UUPS, so war das natuerlich nicht gedacht...
Das die Reisfelder in der normalwelt ueberflutet werden, wenn der schutzgeist
in der parawelt gekillt wird, war beabischtigt. nicht beabsichtigt (ich gebe
zu, ich hab es uebersehen) war ein tod durch idlen. Das wird geaendert, aber
ich hab heute keine Zeit dafuer und weiss nicht wann padreic wieder da ist
Also bitte erstmal nicht in den Reisfeldern stehenbleiben oder idlen.
Netztote werden schnell genug wegtransportiert.
Li

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



Re: Re: Sieben Minuten Ideln in Fernwest. (Fyt,  8. Aug 1997, 12:20:45):
~#! rn=Li rt=871025754 rg=d.fernwest
~#! tid=870956326

Dieses Eingestaendnis eines Nicht-so-sein-sollens ist aber nicht so zu
interpretieren, dass Leute, die in dieser ungluecklicherweise angeschlossenen
Beta-Version zu Tode kommen, ihre EP etc. zurueckbekommen, oder?

Fyt.

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



Re^3: Sieben Minuten Ideln in Fernwest. (Anatol,  8. Aug 1997, 14:54:25):
~#! rn=Fyt rt=871035645 rg=d.fernwest
~#! tid=870956326
Ach ja, und vielleicht sollte man den Schutzgeist so aendern, dass er nicht
Defend() aufruft, ohne richtigen Kampf zu produzieren. Als Zauberer mit
Gerade-noch-genug-Teleport-MP und leicht unterschrittener Vorsicht (da grade
gefluechtet) hat man mit der an sich sicheren Fluchtrichtung "teleport" schon
verloren. Oder weisst Du, wie man in einem Slow-Motion-Reisfeld vor einem
Schutzgeist fluechtet, der einem hinterherrennt? Das ist ganz schoen Scroll...

... der uebrigens keine 10 Sekunden dauerte.

Ich erfuhr eben, dass Padreic an dieser Stelle mit "Man kann doch `ende`
machen" argumentiert. Tut mir aufrichtig leid fuer Padreic, aber solche
"Leute" werden nur noch ernst genommen, wenn man sie ernst nehmen muss (ah,
daher die Aktivitaet in Fernwest - in der Unterwelt kann man ihm ja aus dem
Weg gehen!). `Ende` gehoert nicht zum Spiel, `Ende` ist kein Mittel, um sich
aus brenzligen Situationen zu verdruecken. Das ist nicht nur _meine_ oder
eines anderen Spielers Meinung, das ist auch die Meinung der programmierenden
Magierallgemeinheit.

Anatol


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



Re^4: Sieben Minuten Ideln in Fernwest. (Key,  8. Aug 1997, 15:06:28):
~#! rn=Anatol rt=871044865 rg=d.fernwest
~#! tid=870956326
Hmm kleiner Zusatz ...
Ein Verfolgenpc der einen durch ein Gebiet verfolgt durch das man sich nur
sehr langsam bewegen und man echt nur 10 sek zum teil hat ....
Ich weiss nicht ob irgendwer mal dran gedacht hat das hier nicht _jeder_ eine
standleitung direkt ins MG hat und somit 0% Lag ...

Nein Padreic auch das man verhindern kann das es einen angreift ist kein
Argument.
Lies die mail

Key

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



Re^4: Sieben Minuten Ideln in Fernwest. (Padreic,  8. Aug 1997, 17:45:02):
~#! rn=Anatol rt=871044865 rg=d.fernwest
~#! tid=870956326
a) ich weiss leider nicht, wie du auf den satz mit ende kommst, denn von MIR
ist der bestimmt nicht. Nur um das mal klar zu stellen ich bin ein Gegner von
<ende> und der meinung dass man diesen Befehl ganz abschaffen sollte, ok?
b) es tut mit leid wegen Fyt, aber er wird wohl seine Epse nicht
wiederbekommen, sorry :(
c) das mit dem ideln hatte ich wirklich nicht bedacht und werde (vermutlich
bis montag) mir dazu etwas einfallen lassen.
d) das Defend kommt definitiv nicht weg, weil damit bestimmt
Spezialgegenstaende nicht mehr wirken wuerden.

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



Re^5: Sieben Minuten Ideln in Fernwest. (Key,  8. Aug 1997, 17:47:00):
~#! rn=Padreic rt=871055102 rg=d.fernwest
~#! tid=870956326
Aeh da hab ich mich gestern wohl verhoert?
Du sagtest ich solle doch ende machen wenn teleport net geht ...

Key

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



Re^4: Sieben Minuten Ideln in Fernwest. (Catweazle,  8. Aug 1997, 20:20:05):
~#! rn=Anatol rt=871044865 rg=d.fernwest
~#! tid=870956326
Hm, ich moechte dazu anfuegen und ergaenzen, dass es von der 
programmierenden Magierallgemeinheit ein ausgesprochen _mieser_ Stil ist,
das 'ende'-Kommando abzufangen und schlicht zu ueberschrieben.

YTC (fehlplatziert)

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



Re^9: Sieben Minuten Ideln in Fernwest. (Grimmborn,  9. Aug 1997, 13:21:53):
~#! rn=Padreic rt=871066350 rg=d.fernwest
~#! tid=870956326
Das ging sicher auch gegen Dancer, der das in der Arena (mit gutem Grund...
;-) ) abgefangen hat.

Grimmborn der Atheist kaut auf alten Kamellen rum.

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



Re^10: Sieben Minuten Ideln in Fernwest. (Kretek, 11. Aug 1997, 11:33:30):
~#! rn=Grimmborn rt=871125713 rg=d.fernwest
~#! tid=870956326
Hmmm... Wenn mich nicht alles taeuscht, dann hat Dancer in den Pyramiden auch
sowas aehnliches gemacht ;-)

K.

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



Re^11: Sieben Minuten Ideln in Fernwest. (Asmodis, 11. Aug 1997, 16:32:08):
~#! rn=Kretek rt=871292010 rg=d.fernwest
~#! tid=870956326
Aeh, worum gings nochmal ? Der Artikel ist ja weg ...

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



Re^11: Sieben Minuten Ideln in Fernwest. (Raffi, 12. Aug 1997, 14:09:37):
~#! rn=Kretek rt=871292010 rg=d.fernwest
~#! tid=870956326
Und wer Idelt denn in den Pyramiden ?
Ist doch ein reines Questgebiet - oder ?

Gruss
H.


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



Re^5: Sieben Minuten Ideln in Fernwest. (Tunixgut, 14. Aug 1997, 14:21:38):
~#! rn=Catweazle rt=871064405 rg=d.fernwest
~#! tid=870956326
Nur mal interessehalber: Warum is das mieser Stil???

's Karate-Zwerchle...

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



Reisfeld mal wieder (Ringor, 17. Aug 1997, 03:52:04):
Hallo Padreic, huhu liebe FernWest-geplagte. ;-)

Da schlendert man ganz gemuetlich durch das (Normalwelt-)Reisfeld zu seinem
Knuddeldrachen, und steht auf einmal vor selbigem dumm rum, weil man sich
nicht mehr bewegen kann.

Nach einer kleinen Rast in meiner Lieblingskneipe wieder das gleiche Bild: ich
steh vorm Dai und muss ihn mit Blicken einschuechtern.

Irgendwann wird ja selbst ein Zwerg stutzig und schaut mal nach, woran das
wohl liegen koennte - und siehe da: ein ungenannter Magier hat das Reisfeld so
geschickt (*huestel*) programmiert, dass man in jedem Raum paralysiert wird.
Und zwar unabhaengig davon, wie schnell oder langsam man sich fortbewegt. Ohne
Chance auf Gegenwehr und meiner bescheidenen Meinung nach auch ohne tieferen
Sinn.

Das fuehrt mich zu zwei Fragen:

a) was ist an der Fortbewegung in knoecheltiefem Wasser so anstrengend, dass
man dadurch gelaehmt wird? Irgendwie will das in meinen kleinen
Zwergenschaedel noch nicht ganz rein.

In der Parawelt waer das zwar nicht unbedingt logischer, aber wer da hin geht,
der weiss ja, worauf er sich einlaesst, wie gewisse Magier immer wieder gerne
betonen. Nur holt man sich diese nette 'Reisekrankheit' auch in der
Normalwelt.

b) Ist dem verantwortlichen Magier ueberhaupt bewusst, was es heisst, eine
Stelle anzuschliessen, an der man sich gezielt und ohne Nebenwirkungen
beliebig oft paralysieren lassen kann?

Vielleicht waere es doch nicht ganz verkehrt, wenn man sein Gebiet vor dem
Anschluss von Leuten testen liesse, die sich auch mit anderen Gilden als den
Bierschuettlern auskennen ...

Ringor

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



Re: Reisfeld mal wieder (Key, 17. Aug 1997, 03:56:59):
~#! rn=Ringor rt=871782724 rg=d.fernwest
~#! tid=871782724
Hmm also ich wuerde fast behaupten man koennte Padreic zum Spielerhelfer Nr.1
kueren ... :)
Ich weiss ja net wie oft es vorkommt das ein Magier mit einem einzigen gebiet
sooft spielern hilft wie dieser ...

Und zu den Mags die er als Tester bzw Kontrolleur aufzaehlt ... ueberlegt euch
mal genau was ihr macht wenn ihr euch was ansieht ... oder hat er es etwa erst
kontolieren lassen und dann geaendert?

Naja wie auch immer man kann diesem Typen als Spieler mehr Danke als auf ihn
boese zu sein wegen schlechter Programmierung ;))

Key


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



Re: Re: Reisfeld mal wieder (Asmodis, 17. Aug 1997, 03:59:40):
~#! rn=Key rt=871783019 rg=d.fernwest
~#! tid=871782724
Och, er regt sich trotzdem immer wieder auf, wenn man das
ausnutzt.
Naja, aber solche Wurstmagier sollte man nicht dort herumpfuschen
lassen :)

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



Re^3: Reisfeld mal wieder (Key, 17. Aug 1997, 04:01:17):
~#! rn=Asmodis rt=871783180 rg=d.fernwest
~#! tid=871782724
Hmm vielleicht ja nur weil er es net fuer die proggt die es ausnutzen? :)
Ich mein er hat ja noch net viele Zweities, gelle ;))

Key

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



Re: Reisfeld mal wieder (Padreic, 17. Aug 1997, 09:33:05):
~#! rn=Ringor rt=871782724 rg=d.fernwest
~#! tid=871782724
Hallo Ringor, huhu ihr lieben Fans von Fernwest ;-)
Also ich hab mir den Code gerade nocheinmal angesehen und festgestellt, dass
die Paralysierungszeit wirklich noch ein wenig zu lange war (ist noch ein
relikt aus einer uraltfassung, wo das stolpern noch viel drastischer war, die
ich jedoch dann berreits in der Testphase verkuerzt habe) ich hatte schlicht
vergessen, auch diesen Wert damals runterzusetzen. ok? Dieser aehm Fehler ist
jedoch bei Tests, die _nur_ das Reisfeld betreffen kaum zu entdecken, da er
sich ja fast nur im normalen Spielgeschehen bemerkbar macht. Zu dem Punkt mit
den Gilden, a) musst Du auch mal einsehen, dass es einem Magier schlichtweg
nicht moeglich ist ALLE Gilden so zu kennen wie Ihr Spieler! Du z.b. Ringor
bist in EINER Gilde und spielst dort auch noch ein vielfaches vondem, was ein
Magier zum spielen an Zeit hat (der muss ja auch noch proggen) und bei immer
mehr Gilden, die dieses Mud bekommt, wird dieses Problem auch immer weiter
zunehmen. Ich kann ein Gebiet also vor dem Anschluss Bugfrei und nach bestem
Wissen und Gewissen dem Spielablauf moeglichst wenig behindernd machen, aber
SOLCHE Fehler koennen und werden immer wieder passieren. Denn es ist mir
schlichtweg nicht erlaubt Spieler VOR Anschluss des Gebietes in das Gebiet zu
lassen bzw. ihnen Testspieler in die Hand zu geben. (ueber diesen Punkt habe
ich mich hier leider belehren lassen muessen). Fazit: Ich kann derzeit nicht
mehr tun als hier taeglich vorbei zusehen und Probleme (so sie denn auftreten)
sofort zu beheben, da ein eingieber Test fuer _jede_ Gilde schlichtweg ein
unloesbaeres Problem darstellt.

                                     Gruss Padreic

P.S: jetzt hab ich aber auch noch 2 Fragen a) wieso muss so etwas ueber die
mpa gehen und laeuft nicht per mail?
b) Nein, ich kenne wirklich keinen Vorteil, den ein Spieler davon hat gelaehmt
worden zu sein, vor allem, da es ja eigentlich nur fuer die Zeit des bewegens
AUF dem Reisfeld der Fall ist.

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



Re: Re: Reisfeld mal wieder (Ringor, 17. Aug 1997, 18:57:49):
~#! rn=Padreic rt=871803185 rg=d.fernwest
~#! tid=871782724
Tja hallo nochmal, da muss ich dann doch noch was zu schreiben: ;)

Da stellt man eine Frage, _warum_ etwas so ist, wie es ist, und bekommt als
Antwort, dass es jetzt verkuerzt wurde. Ist ja schoen und gut (naja, letzteres
schraenke ich gleich noch ein ;-), aber die urspruengliche Frage bleibt: wieso
ist man beim Durchqueren eines Reisfeldes gelaehmt? 

Und um Dir auf die Spruenge zu helfen, warum auch dieses kurze Paralysieren
noch zuviel ist: Kaempfer koennen Paralysen ueberwinden. Dafuer haben sie
einen Skill, den sie trainieren muessen. Und um eine Paralyse zu ueberwinden,
muss man erstmal paralysiert werden. Na, klingelts langsam?

Dass Du nicht alle Gilden kennen kannst, ist klar. Dass Du keine Spieler
testen lassen darfst ist leider wahr, aber auf der anderen Seite recht
gaengige Praxis. Aber es sollte immer noch andere Magier geben, die sich mit
den anderen Gilden auskennen. Und die duerfen testen. Und wenn man etwas
einbauen moechte, das es in der Form noch nicht gibt, waere es fuer mich
zumindest selbstverstaendlich, einmal in einer Magierrubrik zu fragen, ob es
gegen die Idee irgendwelche Einwaende gibt. Naja, is nur meine Meinung.


Ringor

P.S.:

Das geht nur ueber die MPA, weil ich ueberstimmt wurde ;^)

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



Re^3: Reisfeld mal wieder (Raffi, 18. Aug 1997, 14:20:01):
~#! rn=Ringor rt=871837069 rg=d.fernwest
~#! tid=871782724
Hmm mal abgesehen von den von Ringor angedeuteten Auswirkungen: Was fuer einen
sinn soll denn diese Paralyse ueberhaupt haben ? Durch wieviele Reisfelder
bist Du senn schon gelaufen Paedric ?

Gruebelnd
H.

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



Re^4: Reisfeld mal wieder (Baboon, 18. Aug 1997, 14:27:27):
~#! rn=Raffi rt=871906801 rg=d.fernwest
~#! tid=871782724
Hm, ich koennte mir denken, dass weniger das knoecheltiefe Wasser der Grund
fuer eine gebremste Bewegungsweise ist, sondern der daraus resultierende
Schlamm. Zugegeben, das mit der Laehmung zu simulieren war etwas ungluecklich,
aber halt relativ einfach zu realisieren.
Ich haette natuerlich diesen fehler nicht gemacht und statt dessen ueberall
call_outs eingebaut, aber es kann ja nicht jeder so kreativ wie ich sein.

Jemand (heute nur anonym)

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



Re: Re: Reisfeld mal wieder (Damien, 18. Aug 1997, 16:50:42):
~#! rn=Padreic rt=871803185 rg=d.fernwest
~#! tid=871782724
Also, weisst du Padreic, ich denke wenn man sich schon zum Magier verwursteln
laesst, sollte man sich wenigstens die Zeit nehmen, soviel ueber die Gilden in
Erfahrung zu bringen, dass einem so ein Schnitzer nicht passiert oder aber
vorher mal ein paar Leute fragen, die sich damit auskennen. Auch wenn man eine
gute Idee hat (ob die so gut ist sei da hingestellt), sollte deswegen nicht
die Ausarbeitung schlampig werden. 
Magier zu werden heisst ja schliesslich nicht nur, dass man den mehr oder
weniger kreativen Muell, der einem so einfaellt, an den Spielern austestet,
sondern auch ein gewisses Mass an Verantwortung, zumindest soweit, dass man
Sachen programmiert, die anderen Spass machen. Gerade FernWest ist eine mit
viel Liebe zum Detail programmierte Gegend und ich finde es echt eine
Sauerei, wenn dann irgendjemand ohne Gefuehl fuer das Konzept seine albernen
Ideen da reinwurschtelt. Das ist auch eine Frage des Respektes vor den
Magiern,
die diese Gegend entworfen und aufgebaut haben.
Du solltest mal kapieren, dass Magier und Spieler/Seher keine Konkurrenten 
sind und wir auch keine MG-Polizei brauchen, die versucht jede Form von 
Erleichterung seitens der Spieler zunichte zu machen.
Sieh' es doch mal so, wenn Du was proggst, was alle Scheisse finden, dann 
gehen sie nicht mehr da hin. Ist das Sinn der Aktion? Und wenn Du wirklich
einen Grund hast, sowas zu machen (und Du nicht nur den Skriptern eins
reindruecken willst), dann mach' es wenigstens sinnvoll und kreativ. Wenn Du
dazu nicht in der Lage bist, dann bist du eben noch nicht reif fuers 
Magiertum.

Damien.

P.S.: Und falls jetzt der mach's-erstmal-besser-Spruch kommt, das werde ich,
in Kuerze.

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



Re^5: Reisfeld mal wieder (Padreic, 18. Aug 1997, 19:49:44):
~#! rn=Baboon rt=871907247 rg=d.fernwest
~#! tid=871782724
1. Baboon ich finde es wirklich wunderbar, das Du Artikel ueber meine
Implementierung schreibst, ohne sie Dir vorher anzusehen.
das stolpern IST und WAR schon immer ueber call_outs implementiert
2. man musste lediglich einen moment verschnaufen, bevor man kaempfen konnte,
da man schlichtweg erschoepft ist.
3. Als Du Deinen Artikel geschrieben hast, war das "laehmen" berreits
ausgebaut (siehe 1.), da Li mich bat es doch auszubauen, wenn ich es nicht
unbedingt haben wolle (eine gute Tat fuer den Spielfrieden)
                                      Gruss Padreic
P.S.: Vielleicht sollte man sich als Magier erstmal den Code anschauen bevor
man in der mpa rumsenft und einem noch schlechten Programmierstil vorwirft.

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



Re^3: Reisfeld mal wieder (Padreic, 18. Aug 1997, 23:09:44):
~#! rn=Damien rt=871915842 rg=d.fernwest
~#! tid=871782724
Damien, ich muss ehrlich sagen, ich hab wirklich lange ueberlegt ob ich Deinen
Artikel beantworten oder einfach nur ignorieren soll. Naja wie Du siehst hab
ich mich fuer das beantworten entschieden :)
Erstens das Konzept fuer den Geist war sehr gut durchdacht und ist seit dem 9
Juli endgueltig fertig gewesen. Ich habe also nicht einfach mal so etwas vor
mich hingeproggt und das dann angeschlossen. Ich habe auch nicht 'ohen Gefuehl
fuer das Konzept meine albernen Ideen' da reingewurschtelt, ganz im Gegenteil
habe ich bei dem Schutzgeist (wie auch den noch folgenden Geistern) genau auf
das Konzept von Fernwest geachtet und sie (meiner Meinung nach) gut in
Fernwest integriert. Ausserdem habe ich mit Li gerade das Konzept der Geister
besonders intensiv besprochen und auch Baron's einverstaendnis hab ich fuer
diese Aenderung bekommen (der hat das Reisfeld urspruenglich mal geproggt).
Zweitens ich sehe die Spieler nicht als meine Konkurrenten an, sondern
wollte(und will) den Spielern die Lust darauf haben neue Aspekte von Fernwest
zeigen (und dazu gehoert numal die Geisterwelt :) und da der geist in der
Parawelt steht, steht es jedem frei ihn sich anzusehen oder nicht.
Die Aenderung am Reisfeld (die natuerlich auch Auswirkungen auf die normalwelt
hat) sind a) irgendwie realistisch und b) gehoeren sie zum kampf mit dem Geist
dazu und c) sind sie wirklich nicht SO dramatisch
Das man, wenn man gerade durch ein riesiges Reisfeld gelaufen ist noch recht
erschoepft ist und erstmal einen moment erholen muss, bevor man richtig
kaempfen kann fand ich realistisch, aber auf Grund des grossen Protestes hab
ich das ausgebaut, da es kein so wesentlicher bestandteil des Geistes ist.
Drittens: es gibt inzwischen soviele Gilden, dass Du unmoeglich erwarten
kannst, dass jeder Magier alle Gilden bis ins feinste kennt. Die Magier sind
schlichtweg auf Warnungen und Hinweise der Gildenprogger angewiesen, den ich
kann mir unmoeglich die dokus mit *.c alle ansehen so 'dass einem so ein
Schnitzer nicht passiert.'. Ich habe sowohl bei <man kaempfer> als auch bei
<man P_DISABLE_ATTACK> (man ist ein erweiterter hilfe befehl fuer magier und
diable_attack die laehmungsproperty) keinen Hinweis darauf entdecken koennen,
dass es bei der Laehmung zu Problemen beim ueben mit der Kaempfergilde kommen
konnte. Tatsache ist auch, dass es selbst _mehreren_ _aktiven_ RMs nicht
bewusst war, das solche Nebenwirkungen entstehen koennen. Und nur um nochmal
vorzubeugen ich _darf_ keine spieler testen lassen und ich kann auch nicht in
jeder gilde einen zweiti hochziehen, da ich hier dann einen 24std job haette.

                                               Gruss Padreic
P.S.: Ich denke, das war heute der letzte Artikel mit dem ich einen Artikel
beantworte, der (meiner Meinung nach) a) weder sachlich b) nur meine Person
angreifend und verletzend war.

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



Re^6: Reisfeld mal wieder (Baboon, 19. Aug 1997, 08:45:00):
~#! rn=Padreic rt=871926584 rg=d.fernwest
~#! tid=871782724
Hm, wozu angucken? Ich hab doch schon genug aus der Zeitung darueber erfahren.
Naja, vielleicht haette ich doch besser dieses bloedsinnige **IRONIE ON/OFF**
benutzen sollen, damit es auch der letzte versteht.
Also gut: **FLAMEWAR ON**

zu 1. vielleicht haette ich ja doch schreiben sollen , dass ich jedem Feld
einen Heartbeat verpassen wuerde...
zu 2. hab ich was anderes behauptet? Wenn man im reisfeld verschnaufen muss,
dann doch deshalb, weil man dort schwer vorankommt.
zu 3. aber es WAR vorher drin, und das war, ist und bleibt ungluecklich. Das
du das extra gemacht hast oder so hab ich nie behauptet.

p.s: Wozu, wenn nicht zum rumsenfen, ist die MPA denn sonst da? Und von wegen
Programmierstil: "Jeder zieht sich den Schuh an, der ihm passt. Oder wie der
Spruch auch immer genau hiess.

Baboon() (arrogant und Wolpertinger abfackelnd)

Ach ja: **FLAMEWAR OFF**


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



Re^4: Reisfeld mal wieder (Damien, 19. Aug 1997, 09:55:06):
~#! rn=Padreic rt=871938584 rg=d.fernwest
~#! tid=871782724
Na gut, es war ueberzogen. Und ich entschuldige mich dafuer.
Nichtsdestotrotz gibt es zu den Gilden soweit ich weiss entweder offizielle
Texte, in denen man nachlesen kann, was es fuer Faehigkeiten/Sprueche gibt
oder irgendwer hat sich die Muehe gemacht, eines zu schreiben, in seinem
Haus oder so. Die nachzulesen sollte wohl nicht das Problem sein und man kann
ja auch mal ein paar Leute fragen, aber ich denke das mindeste, was man von
einem Magier erwarten kann, ist, dass er wenigstens weiss, was es in den
Gilden an Spruechen gibt. Und soviele Gilden haben wir gar nicht. Ich meine,
wenn ich irgendetwas progge, und ich weiss einfach nicht, was fuer
Moeglichkeiten die einzelnen Gilden haben, dann passiert es mir dauernd, dass
irgendwelche 'Luecken im System' entstehen. Ergebnis: Die, die es rauskriegen,
freuen sich, die die davon erst bei der Korrektur erfahren jammern ueber die,
die den Vorteil haben und es zeugt einfach von schlechtem Stil, wenn man etwas
anhaengt, was danach 5 Mal korrigiert werden muss.
Und des weiteren moechte ich mal anmerken, dass es schon auffaellig ist, das
jedesmal wenn Du was anhaengst erstmal ein Haufen Leute zu rottieren anfangen
und zwar Leute, die vielleicht keine Magier sind, aber sich verdammt gut im MG
auskennen.
Und ausserdem halte ich persoenlich nicht viel davon, Veraenderungen in der
Parawelt dazu fuehren zu lassen, dass man Auswirkungen in der Real-Welt hat.
Das sind naehmlich Dinge, auf die man ueberhaupt keinen Einfluss hat und wenn
man dann deswegen Schwieerigkeiten kriegt, ist das nur aergerlich.

Hoffentlich etwas sachlicher. Damien.

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



Re^5: Reisfeld mal wieder (Sharia, 19. Aug 1997, 09:58:22):
~#! rn=Damien rt=871977306 rg=d.fernwest
~#! tid=871782724
auch wenn ich mich jetzt unbeliebt mach muss ich Padreic mal kurz in Schutz
nehmen:
Ich denke man kann als Magier NICHT alle Spells einer Gilde genau kennen, denn
wie man mit einem Spell umzugehen kann lernt man erst in dessen haeufiger
anwendung, man kann aber nicht verlangen dasss jeder Magier einen Testi in
jeder Gilde hat mit dem hoechsten Level. Man sollte als Magier lieber auf die
Hilfe der Spieler selbst zurueckgreifen finde ich, und wenn man etwas
anschliesst dann halt sagen: koennt ihr bitte erstmal testen und tips geben..
ich weiss nicht ob das so ok ist.. auch ein Magier kann sich da ne Schwaeche
zugestehen denke ich

Sharia, die mit den schlechten Bildern

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



Re^5: Reisfeld mal wieder (Li, 19. Aug 1997, 09:58:44):
~#! rn=Damien rt=871977306 rg=d.fernwest
~#! tid=871782724
Hmm, dieserArtikel ist dachlicher, da hast du recht. aber ich glaube dennoch
nicht, dass du beurteilen kannst, ob derBug fuer Padreic vorraussehbar waroder
nicht. (dasgilt uebrigens auch fuer andere Bugs anderer Magier...
Was die Einfluesse der Para- auf die Normalwelt angeht:
Du findest es persoenlich nichtgut, ich halte es fuer stimmungsvoll...
Li

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



Re^5: Reisfeld mal wieder (Patryn, 19. Aug 1997, 10:05:34):
~#! rn=Damien rt=871977306 rg=d.fernwest
~#! tid=871782724
das ist reichlich naiv, in numehr knapp 1 MB relativ komplexen
gilden-quellcode muss sich nun wirklich nicht mehr jeder magier auskennen.
desweiteren hat bisher wohl jeder magier schonmal bugs gehabt, die
soieler zu ihrem vorteil nutzen konnten, dass allein padreic unterzuschieben
ist schon recht anmassend...

------
patryn

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



Re^6: Reisfeld mal wieder (Damien, 19. Aug 1997, 10:11:29):
~#! rn=Sharia rt=871977502 rg=d.fernwest
~#! tid=871782724
Hmm, also ich persoenlich halte es auch fuer die beste Loesung, sowas erstmal
von Spielern testen zu lassen, aber wenn es dann teilweise massive
Behinderungen sind, dann sollte man sich vorher sorgfaeltig Gedanken machen.
Vielleicht sollte man wirklich mal eine Art Test-Areal einfuehren, wo solche
Sachen von erfahrenen spielern (sprich Sehern) getestet werden koennen, ohne
dass es einen Einfluss auf das Spielgeschehen gibt. Und um gleichmal auf
Li zu antworten: Stimmungsvoll kannman sowas schon Gestallten, aber wir hatten
zum Beispiel einen Toten deswegen. Das muss ja wohl nicht sein. Prinzipiell
sollte man nie an einer Stelle sterben koennen, indem man einfach nur rum-
idlet. Natuerlich ist das was anderes, wenn es eine ersichtliche Gefahr ist,
oder ein Monster bei Raumreset, aber eine Sache die in der Parawelt passiert
und zur Lebensgefahr fuer Leute wird, die in der Normal-Welt idlen?

Damien.

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



Re^7: Reisfeld mal wieder (Baboon, 19. Aug 1997, 10:21:37):
~#! rn=Damien rt=871978289 rg=d.fernwest
~#! tid=871782724
Also, wenn ich das richtig verstehe: Wenn man in einem Raum idelt, weil man
nicht weiss, dass dort beim reset ein aggressives monster auftauchen wird, ist
pech, aber nicht zu aendern. und wenn man auf dem reisfeld idelt, weil man
nicht weiss, dass man dort ersaeuft, *WENN* der Schutzgeist getoetet wird ist
ein verbrechen an der spielerschaft.
Ich wuerde eher sagen, beides ist ein Fall von dumm gelaufen. Wer seinen
Charakter unwissentlich an eine gefaehrliche Stelle stellt und ihn dann
unbeaufsichtigt laesst hat halt ein gewisses risiko.

Baboon()


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



Re^8: Reisfeld mal wieder (Fyt, 19. Aug 1997, 10:23:51):
~#! rn=Baboon rt=871978897 rg=d.fernwest
~#! tid=871782724

Falsch, das agressive Monster haette mir mehr als 120 lp in einem Schlag
abziehen muessen, da sonst 'fluchtrichtung ende' gezogen haette. Und
derartige Monster erwarte ich nicht in mir einigermassen bekannten Gebieten
der NORMALwelt.

Fyt.

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



Re^7: Reisfeld mal wieder (Boing, 19. Aug 1997, 10:26:09):
~#! rn=Damien rt=871978289 rg=d.fernwest
~#! tid=871782724
Eins muss ich hier mal wieder klarstellen: Idlen ist KEIN Freibrief,
wer rumidlet und dann an irgendwas stirbt ist ganz alleine selbst
schuld, es gibt den Befehl 'schlafe ein' oder 'ende', alternativ
kann man auch an eine Stelle gehen, wo man WEISS, dass sie sicher
ist (Gilde, Seherhaus). Ansonsten ist idlen immer ein Risiko, dass
man eingehen kann.
  Boing

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



Re^8: Reisfeld mal wieder (Key, 19. Aug 1997, 10:32:51):
~#! rn=Boing rt=871979169 rg=d.fernwest
~#! tid=871782724
Hmm Boing ... das Reisfeld war sicher, und in der Zeitung stand
ausschliesslich was von einer Aenderung in der Parawelt wenn ich net irre ...
Wer da dann darauf zurueckschliessen kann das es in der Normalwelt auch
gefaehrlich ist, vor allem wenn er die Aenderung in der Parawelt noch nicht
kennt, ist entweder ein Hellseher oder ein Verrueckter :)

Key

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



Re^7: Reisfeld mal wieder (Asmodis, 19. Aug 1997, 10:39:26):
~#! rn=Baboon rt=871973100 rg=d.fernwest
~#! tid=871782724
Heartbeat? call_outs ?? Sacht mal, kann keiner von euch vernuenftig
programmieren ??
Das macht man mit einer Property und dem init() des raums :)

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



Re^9: Reisfeld mal wieder (Damien, 19. Aug 1997, 10:46:10):
~#! rn=Key rt=871979571 rg=d.fernwest
~#! tid=871782724
...mal ganz davon abgesehen. Es gibt Leute, die Wissen gar nicht, das es eine
Parawelt gibt und die idlen vielleicht auch in diesem 'sicheren' Gebiet. Und
inzwischen gibt gute Gruende zu idlen, insbesondere seit dem neuen Tod.

Damien.

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



Re^10: Reisfeld mal wieder (Li, 19. Aug 1997, 10:49:45):
~#! rn=Damien rt=871980370 rg=d.fernwest
~#! tid=871782724
koennen wir nicht mal aufhoeren, damit? der idle_tot-bug ist gefixed und gut.

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



Re^11: Reisfeld mal wieder (Asmodis, 19. Aug 1997, 10:52:16):
~#! rn=Li rt=871980585 rg=d.fernwest
~#! tid=871782724
Dann baut auch noch das Stolpern aus und was da sonst noch
im Reisfeld passiert.
Ihr seht wohl nicht, dass das voll gegen Nicht-Scripter zielt ??
In der Parawelt kann man das machen, aber nicht doch in der Normalwelt ...

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



Re^11: Reisfeld mal wieder (Damien, 19. Aug 1997, 11:03:21):
~#! rn=Li rt=871980585 rg=d.fernwest
~#! tid=871782724
Tja, wisst Ihr, was mich stoert ist einfach Folgendes.
Da gibt es einen Spieler, mit eher moderater Erfahrung, der sich ploetzlich in
den Kopf setzt, Magier zu werden. (mit Erfahrung meine ich das Alter, da er
eine hohe Stufe hat und auch in der Gilde recht weit ist, obwohl er noch
relativ jung ist, wird er sich wohl nicht so viel umgesehen haben.)
Dieser zieht nun im Akkord einen Zweitie hoch, der Magier wird. Und wer
betreut ihn? Eine Magierin, die juenger ist als sein Zweitie.
Und dann erklaert sich dieser Spieler selber zum Jaeger der Skripter und KL-
Benutzer und ZT-Listen-Besitzer und faengt an, wie bloed an allen moeglichen
Stellen Hindernisse fuer diese angeblichen 'Suender' einzubauen. Und was kommt
dabei raus? Ein Bug nach dem anderen und ein Haufen boeses Blut.
Und wisst Ihr was mir am meisten stinkt? Das genau diese Person jetzt in
meiner
Lieblingsgegend genau das gleiche macht.
Wenn derjenige es fertigbringt, mal was zu proggen, was wirklich allen
gefaellt
und Spass macht, ohne seine Agenda durchzuziehen, dann nehme ich alles
zurueck,
aber bisdahin bin ich der Meinung das die neuen Regeln zur Magierwerdung
besser
auch auf ihn angewandt worden waeren.

Damien.

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



Re^12: Reisfeld mal wieder (Li, 19. Aug 1997, 11:12:34):
~#! rn=Asmodis rt=871980736 rg=d.fernwest
~#! tid=871782724
also nochmal und nun hoffentlich zum letzten Mal:
Das Stolpern ist keine Aktion um absichtlich Spieler zu nerven.
= /test insert := !insert
= /test insert := !insert
Das Stolpern wurde eingebaut, um deutlich zu machen, wie schwer es ist, sich
in einem Reisfeld zu bewegen. es wurde eingebaut, um ein wenig Stimmung und
"Realismus" reinzubringen. Wer also Spass an etwas Stimmung hat, den wird
dasStolpern nicht stoeren, alle andere sollten im ultrakuzmodus scripten.
Li

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



Re^12: Reisfeld mal wieder (Li, 19. Aug 1997, 11:19:50):
~#! rn=Damien rt=871981401 rg=d.fernwest
~#! tid=871782724
Also geht es hier gar nicht um den Geist, sondern um Padreics Vorgeschichte?
wie ich schon ein paarmal erklaert habe, ist das Stolpern nicht als
Scriftfalle/aergerniss fuer die Spieler gedacht. Natuerlich ist es ein wenig
laestig, aber: siehe anderen artikel.
Das FW deine Lieblingsgegend ist, freut mich, also solltest du dich auch
freuen, dass in FW noch was passiert.
Ausserdem wirfst du P. vor, er waere jetzt als Magier ein Scriptjaeger,
ZT-listen jaeger usw. geworden ist.
nun, das sollte die aufgabe jeden Magiers sein...
Und jetzt hoert endlich auf, Padreic anzuflamen. Ich habe das gefuehl, ein
paar spieler haben hier ihre meinung ueber ein paar magier und suchen jede
moeglichkeit, ihre meinungen zu bestaetigen.
Warum haut ihr alle auf padreic ein, wo ich als RM mindestens genauso viel
"Schuld" an allem habe.
Li

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



Re^12: Reisfeld mal wieder (Hobo, 19. Aug 1997, 11:21:05):
~#! rn=Damien rt=871981401 rg=d.fernwest
~#! tid=871782724
Hi Damien,

wenn Du bisher nicht mitbekommen hast, dass sowohl Skripts als auch
Komplettloesungen hier nicht erlaubt sind, dann bist Du wirklich daemlich.
Wenn Du also meinst, dann etwas ueber "angebliche Suender" schreiben zu
muessen, dann solltest Du vielleicht in naechster Zeit etwas vorsichtig mit
Deinen Skripts sein.
Und dass die ZT-Listen vom Tisch sind, hat wohl inzwischen auch der letzte
Level1-Spieler mitbekommen - Du scheinbar nicht.

Was mir hier auf den Senkel geht, ist 
   1. Dein Ton
   2. Deine Einstellung

Es wurde ein Fehler gemacht und behoben. Was ist der Grund, da jetzt noch
tagelang rumzupflaumen, nur weil Du meinst, das neue Gebiet muss unbedingt
Deinen Vorstellungen angepasst werden???

Kauf Dir doch Dein eigenes Mud!

 Hobo

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



Re^13: Reisfeld mal wieder (Yantro, 19. Aug 1997, 11:25:04):
~#! rn=Li rt=871982390 rg=d.fernwest
~#! tid=871782724
Ich muss Li in einer grundsaetzlichen Sache widersprechen, denn es ist NICHT
und wird auch NIE Aufgabe eines Magiers sein, Skripter zu jagen,
ZTlisten-Spieler zu verfolgen und aehnliches, denn das ist Schikane. Es gibt
eine ganz kleine begrenzte Gruppe Magier, die das sollen und richtig koennen
(und nicht nur laienhaft) und die heissen "Sheriffs". ALLE anderen Magier, die
sich um sowas kuemmern und es dann dem Sheriff melden, sind vielleicht
lobenswert (ich nenn sie anders, aber ich lass das mal hier) und plustern sich
auf und machen sich wichtig gegenueber den Spielern. Padreic hat da auch eine
Vergangenheit, aber er hat auch schon deswegen einen auf den Deckel gekriegt
und laesst es im Moment eigentlich sein. Unter uns gesagt macht es ihm im
Moment viel mehr Spass, seinen eigenen RM anzuschwaerzen ;).

Lasst also einfach mal das geflame jetzt sein. Wiederholt sich eh alles und
bringen tut es nix.

Yantro

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



Re^14: Reisfeld mal wieder (Damien, 19. Aug 1997, 11:32:03):
~#! rn=Yantro rt=871982704 rg=d.fernwest
~#! tid=871782724
Genau das war mein Punkt.

Damien.

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



Ideen (Li, 19. Aug 1997, 11:54:23):
Ich wende mich mal an alle Spieler und Magier, die sich in Fernwest auskennen:
Falls jemand noch ein paar nette Ideen fuer Geister in Fernwest hat, wo sie
spuken koennten, wassie machen koennten, moege mir einige Vorschlaege mailen.
Egal ob starke odr schwache Geister, komische oder traurige.
Nur siesollte nzu Fernwest passen.
Li

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



Re^8: Reisfeld mal wieder (Catweazle, 19. Aug 1997, 12:40:32):
~#! rn=Baboon rt=871978897 rg=d.fernwest
~#! tid=871782724
Ich moechte dazu anmerken, dass man auch in der Wueste sterben kann, 
wenn man zu lange an einem Fleck rumsteht. Diese Anederung ist nicht mal
besonders gross angekuendigt worden, es _sind_ Leute daran gestorben, ich 
kann mich allerdings an keine Beschwerdethreads in der MPA erinnern.

Ihr solltet Euch vielleicht mal fragen, ob der Grund fuer diese Thread
an der Programmieren, der 'fuerchterlich boesartigen Behinderung' der 
Spieler oder in der Person des Programmierers liegt. 
YTC

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



Re^9: Reisfeld mal wieder (Fyt, 19. Aug 1997, 12:43:53):
~#! rn=Catweazle rt=871987232 rg=d.fernwest
~#! tid=871782724

Vor der Wueste steht allerdings (und das so lange ich zurueckdenken kann)
ein Warnschild. Es hat ungelogen Monate gedauert, eh ich mich da reingetraut
habe. Der Sonnenstich ist ja erst viel spaeter dazugekommen....

Fyt.

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



Re^14: Reisfeld mal wieder (Padreic, 19. Aug 1997, 16:54:11):
~#! rn=Yantro rt=871982704 rg=d.fernwest
~#! tid=871782724
Wenn Du schon Li korrigieren musst Yantro, muss ich auch leider Dich
korrigieren. Erstens ZT-Listen waren (als sie noch sinnvoll waren) der einzige
weg ZTs zu finden und ich kann mich nicht entsinnen jemals etwas gegen
ZT-Listen gesagt zu haben. Zweitens wenn ich per Zufall merke, dass jemand ein
Autoscript benutzt (das sind scripts, die unbeaufsichtigt die ganze Nacht
durchlaufen) dann melde ich diesen dem zustaendigen Magier und ich habe dafuer
(auch da muss ich Dich korrigieren) noch NIE einen 'auf den Deckel gekriegt'.
Ausserdem bin ich sehr wohl der Meinung das es die Aufgabe JEDES magiers ist
solche Scripts zu melden, da dies der einzige Weg ist jemals dagegen
anzukommen, da man so etwas meist nur per Zufall entdecken kann und diese
Scripts das Spielgleichgewicht _empfindlich_ stoeren. Ich kann Dir nur in
einem Punkte recht geben es ist nicht aufgabe eines Magier dieses in
irgendeiner Form zu ahnden, denn dafuer sind die sheriffs da. Achja und wenn
Du sagst ich haette eine Vergangenheit, koennte ich die auch mal erfahren? Der
Vorwurf mit den angeblichen "unmengen an illegalen snoops" wurde damals dank
des logfiles (das ist nunmal ein eindeutiger Beweis) ja entkraeftet.
                                                  Gruss Padreic

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



Re^12: Reisfeld mal wieder (Padreic, 19. Aug 1997, 17:20:55):
~#! rn=Damien rt=871981401 rg=d.fernwest
~#! tid=871782724
Sorry Damien, aber ich denke, dass ich nach fast 34 Tagen die ich mit Angrim
gespielt habe (und davon ist hoechstens 1 stunde idlezeit) schon einen ganz
guten Ueberblick ueber das Mud habe. Ich kenne vielleicht nicht alle Gebiete
(Drakonien und Warok muss ich mir nochmal ansehen :) habe aber wie ich finde
einen sehr guten Ueberblick ueber das Mud. Ausserdem wuesst ich gerne an
welchen Stellen ich bitte ueberall Hindernisse aufgebaut haben soll (gruebel)
mein anderes Gebiet ist naemlich SO tief in der unterwelt, dass dort wirklich
nur der hinkommt, der es gezielt sucht. Also ist es nur noch _ein_
'hinderniss' und auch das wurde nicht gebaut um irgendwelche scripter zu
aergern (dann saeh das naemlich anders aus :) sondern wie Li so schoen sagte
dient es a) der stimmung und b) gehoert es zu den Kampffeatueres des Geistes.
Desweiteren hatte ich bei dem ganzen Gebiet _zwei_ bugs. Wobei der eine
nichtmal Auswirkungen auf das Spiel hatte. _Alles_ andere waren entweder Bugs,
die ich nicht zu verantworten hatte, oder aber es waren keine Bugs sondern
Aenderungen die wegen bestimmten spells von spruechen gemacht werden mussten
(DAS waren insgesamt 3). Diese haben dann "einzelnen" seher genuetzt, haben
aber auch wieder nicht das Spielgeschehen fuer die anderen beeinflusst.
Defakto gab es also EINEN bug der Dich haette beeinflussen koennen und dieser
war berreits 1 Stunde nach Anschluss behoben.
                                                Gruss Padreic
P.S.: Gruende wie "wenn-der-da-ueben-koennen-durfte-will-ich-aber-auch"
brauchst Du jetzt bitte nicht bringen, ja?

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



Re^13: Reisfeld mal wieder (Bottom, 19. Aug 1997, 18:19:59):
~#! rn=Padreic rt=872004055 rg=d.fernwest
~#! tid=871782724

Puh! Werden hier elend lange Artikel geschrieben, dabei geht es doch viel
kuerzer, stellt man sich einer wirklich sachlichen Argumentation. Padreic
anzugreifen ist vermessen, ihn widerlegen zu wollen auch. bruder Padreic ist
Kleriker und damit Libling der Goetter. Wer sich gegen ihn erhebt, zieht sich
den Zorn der Goetter zu, so einfach ist das. 
Lembold schuetze alle Kleriker! Moege er Bruder Padreic Geduld schenken!

Bottom

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



Re^14: Reisfeld mal wieder (Ulo, 25. Aug 1997, 22:20:25):
~#! rn=Bottom rt=872007599 rg=d.fernwest
~#! tid=871782724

Hi,

beim Durchlesen der 50 Vorgaengerartikel (einen hab ich geloescht, damit ich
platz zum schreiben hatte :) sind mir zwei sachen aufgefallen:
1. hat boing am 19.8 behauptet, die gilde waere ein sicherer ort zum idlen.
   das glaub ich nicht :) Zisch.... Zisch.... Zisch... es soll schon
   unschuldige tote da gegeben haben...
2. war ich etwas erstaunt, als damien (erstlogin dez 96) mit dem hinweis kam,
   dass die betreuerin von padreic , naemlich cadra (magierin seit nov _93_),
   weniger online zeit habe als der erstie von padreic. 
   Eine statistische Untersuchung wie oft das noch vorgekommen ist hab ich
   mir gespart (Schaetzung: oft). Ich glaube, dass die Erinnerung daran, wie
   das MG seinerzeit war und in welche Richtung es sich entwickelt hat, 
   hilfreicher fuers Proggen und Betreuen ist als eine moeglichst genaue
   Kenntnis des Istzustandes. Den Glauben an die Onlinezeit als Indikator
   fuer Sachkenntnis halte ich fuer verfehlt.
3. Situationen, in denen einzelne Spieler Sachen machen, die anderen Spielern
   das Leben etwas erschweren koennen, ist nix neues. Ganze Quests sind 
   unloesbar, wenn jemand anders es darauf anlegt, sie unspielbar zu machen.
   Da es sich hier um ein (noch) questfreies Gebiet handelt, ist die
   Aufregung doch recht stark gewesen.... Derartige Verbindungen von Para-
   und Normalwelt halte ich eher fuer ein nachahmenswertes Beispiel.
   (Das bezog sich auf den letzten Absatz von Damiens Artikel 19.8 9:55)

Gruss Ulo.

P.S. Ich gebe zu, es waren drei (und nicht zwei) Sachen, die mir aufgefallen
    sind. Im Grossen und Ganzen waren die Threads unterhaltsam...
    Gut und Boese waren eindeutig verteilt 9-)

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



Re^15: Reisfeld mal wieder (Rochus, 26. Aug 1997, 09:31:23):
~#! rn=Ulo rt=872540425 rg=d.fernwest
~#! tid=871782724
Zu 2: Man sollte nicht nur auf die Online-Zeit in diesem Mud sehen
um die Programmierkenntnisse bewerten zu koennen.
Cadra war schon in mehreren anderen Muds taetig und hat in Nightfall
eine Position die hier einer Erzmagierin entsprechen wuerde.

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



Re^16: Reisfeld mal wieder (Wurzel, 26. Aug 1997, 18:16:52):
~#! rn=Rochus rt=872580683 rg=d.fernwest
~#! tid=871782724
stimmt nicht ganz... cadra ist mittlerweile mudgott, erzmagier ist sie in
mehreren anderen muds. ihre qualifikation in frage zu stellen finde ich eher
laecherlich.

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



Re^17: Reisfeld mal wieder (Fyt, 26. Aug 1997, 18:30:49):
~#! rn=Wurzel rt=872612212 rg=d.fernwest
~#! tid=871782724

Hm, wuerde ich an Deiner Stelle auch nicht...

Fyt.

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



Re^10: Reisfeld mal wieder (Hardil, 29. Aug 1997, 12:38:58):
~#! rn=Fyt rt=871987433 rg=d.fernwest
~#! tid=871782724

Monate, Fyt?
Moensch, bist Du noch jung. :)
Jahre muss das heissen. Mehrere. :-)

-Hardil. Opa.

-> d.wueste

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



Grab (Li,  2. Sep 1997, 09:32:37):
Ni hao!
Im Zuge meines nun nicht mehr verschiebbaren bugfixens in dem Grab habe ich
die
Terrakotta-NPCs etwas veraendert. Ein paar logischere Resistenzen, dafuer ist
der zu grosse ruestungsschutz etwas abgemildert worden, er war fuer krieger
und
karateka doch etwas heftig.
Fazit: auch in fernwest fallen Baeume um.
Aber lieber eine kleine Nachricht als keine, sonst denkt ihr, es passiert nix
in Fernwest ausser neue "Monster"...
Li

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



Grab II (Li,  2. Sep 1997, 13:21:19):
wegen eines Bugs, den ich heute nicht mehr suchen will/kann habe ich den
letzten Grabraum vorlaufig (hoechstens ein/zwei Tage) abgehaengt.
Li

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



Grab II (Li,  3. Sep 1997, 10:11:16):
Ok, Grab ist wieer offen (und hoffentlich mit etwas weniger Typos befallen :-)
)

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



Kleine Bitte (Grimmborn,  9. Sep 1997, 22:20:06):
~#! on=Key ot=873828688 og=allgemeines

Hmm mal eine kleine Bitte an den der sich auch immer zustaendig dafuer fuehlt
...

Das Reisfeld von Padreic abhaengen bis es debugt ist.

Was fuer Bugs das sind sollte man evtl im Code finden koennen.

Key

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



Re: Kleine Bitte (Li, 10. Sep 1997, 08:41:26):
~#! rn=Grimmborn rt=873836406 rg=d.fernwest
~#! tid=873836406
Hmm, das bugt immer noch?
Was denn? Wenn mir keiner sagt, was los sit, was soll man machen?
Li

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



Yaka Ona (Li, 12. Sep 1997, 11:40:44):
ni hao!
Da man der Yaka Ona nicht mehr mit "ende" entkommen kann, habe ich die
Laehmung von ihr genommen, so dass man nun fluechten und sie auch angreifen
kann.
dies wird aber nur ein Uebergang sein, bis mir was anderes eingefallen ist.
Li

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



Re: Yaka Ona (Key, 12. Sep 1997, 15:51:55):
~#! rn=Li rt=874057244 rg=d.fernwest
~#! tid=874057244
Bau doch einfach ende als definierten Befehel ein, der einen zum Ausgangsort
transt aber die Sachen da laesst ...

Wo ist das prob? :)

Key

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



Re: Re: Yaka Ona (Dhojakt, 12. Sep 1997, 16:00:34):
~#! rn=Key rt=874072315 rg=d.fernwest
~#! tid=874057244
Das prob bei der loesung ist, dass in nem halben jahr kein neuanfaenger auf
sowas kommt, weil er nicht weiss, dass das ende mal im kampf ging.
Khidar.

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



Re^3: Yaka Ona (Key, 12. Sep 1997, 16:14:57):
~#! rn=Dhojakt rt=874072834 rg=d.fernwest
~#! tid=874057244
Hmm oki raus oder sowas aehnliches ....
Li darf sich ja dazu auch noch nen paar gedanken machen ;)

Naja vielleicht auch vorher ein Warnschild oder so aufstellen ... wers net
liesst hat selber schuld :)

Key, weiss jetzt schon das er es net lesen wird ;))

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



Labyrinth (Li, 22. Sep 1997, 09:24:15):
Hi!
Man kann im Lab jetzt wieder nach unten. 
bug ist erst mal ausgeklammert.
Li

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



Jin Man Tan (Li, 24. Sep 1997, 13:35:43):
Ni Hao!
Der Arzt Jin Man Tan ist nun unagreifbar. Ich hatte zwar gedacht, dass sowieso
niemand einen Arzt plaettet, der eigentlich zur hilfe der spieler da ist..
Naja, nachdem ich nun gehoert habe, dass er mehr ab- als anwesend ist, ist er
nun unangreifbar, auch im Hinblick auf das neue Kneipensystem...
Li

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



Neues von LanWun (Ulo,  3. Nov 1997, 14:37:49):

Ni Hao,

der Bekanntheitsgrad von Lan Wun hat zugenommen. Es soll jetzt bereits
Leute in Xian geben, die von ihm gehoert haben.....

Zaijian,
Ulo

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



Es nervt :-) (Miraka, 21. Jan 1998, 23:00:15):
Kann einer _endlich_ mal den Typo in dem Restaurant beseitigen:
Bei <bestelle sake> heisst es da ... Augenlick ... statt Augenblick.
Es hat lange gedauert, bis es mich genug genervt hat, aber jetzt ist
Schluss, ich schreib es also hier rein :-)

Miraka Mandros

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



Re: Es nervt :-) (Freund, 22. Jan 1998, 10:14:34):
~#! rn=Miraka rt=885420015 rg=d.fernwest
~#! tid=885420015
Done.

Freund.

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



Re: Re: Es nervt :-) (Ulo, 22. Jan 1998, 11:10:21):
~#! rn=Freund rt=885460474 rg=d.fernwest
~#! tid=885420015

Im Namen der Fernwest-Regionsmagier danken wir Freund und ernennen ihn
hiermit zum Ehren-Typo-Fixer! ;-)

Ulo

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



Konfusius (Li,  9. Feb 1998, 09:53:40):
ni hao!
Ich habe mal wieder Shinobis rep file durchforstet und typos in der
konfu-quest gefixt.
Der Steinschlag ist auch erstmal raus, bis auf weiteres...
Li
P.S. vielen Dank ann alle typofinder!

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



Re: Konfusius (Key,  9. Feb 1998, 10:05:46):
~#! rn=Li rt=887014420 rg=d.fernwest
~#! tid=887014420
typo ann, soll wohl an heissen =;)

Key schmarrnend und frech grinsend
,

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



Einreisegenehmigung (Deepblue, 18. Feb 1998, 02:01:19):
Isses jetzt normal so, dass man nach jedem schlafe ein ne Neue
Einreisegenehmigung braucht?

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



Neulich bei der Karawane (Flintnail, 18. Feb 1998, 14:22:57):
Also neulich:) hab ich mal wieder rumgequestet und bin dazu nach Fernwest
gereist...wie fuer Seher ueblich natuerlich mittels Portal:)..und da ich schon
mal da war, hab ich mir auch mal wieder die Gegend angesehen...hmm..man weiss
ja nie was die Magier so basteln wnn man 9 Monate nich im Mud war. Und wie ich
so rumrenne komme ich zufaelligerweise zum Ankunfts und Abfahrtsplatz der
ollen Karawane..und schwubs, sass ich in der Falle. Die Waechter liessen mich
nicht mehr vom PLatz, denn fuer Sehertore braucht man in Fernwest keine
Einreisegenehmigungen. Tscha...ich weiss gar nicht, ob man die da am Platz
bekommt...versucht hab ichs..vielleicht fehlte ja auch die richtige Syntax.
Naja..nach 10 Minuten NSC-Anquatschens bin ich einfach mit der naechsten
Karawane mit, nackt und waffenlos wie ich war! Beim naechsten Haltepunkt
schreit dann so ein uebereifriger Karawanenwaechter 'Ueberfall!!!' und kloppt
auf mich ein. Wie schon erwaehnt, ich war nackt und waffenlos! Naja das Ende
vom Lied is schnell erzaehlt..er hat mich niedergestreckt und ich hatte TOD
mal wieder zu erklaeren, warum ich zurueck will....
Ich weiss ja nicht, ob ich ne Chance gehabt haette ne Einreisegenehmigung zu
kaufen...ABER DAS NEN NACKTER ZWERG KEINE KARAWANE NICH UEBERFALLEN
WILL,SOLLTE DOCH WOHL KLAR SEIN, ODER?:)

Flint*

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



Re: Neulich bei der Karawane (Tunixgut, 18. Feb 1998, 14:34:14):
~#! rn=Flintnail rt=887808177 rg=d.fernwest
~#! tid=887808177
Du bist als WAECHTER mit, Du Ei, und WURDEST angegriffen...

's Karate-Zwerchle - Auch nackt noch ZWERG!

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



Re: Re: Neulich bei der Karawane (Bottom, 18. Feb 1998, 14:45:30):
~#! rn=Tunixgut rt=887808854 rg=d.fernwest
~#! tid=887808177

und ausserdem bist Du Seher - haettest das also vorher wissen koennen! 


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



Re: Neulich bei der Karawane (Ringor, 18. Feb 1998, 15:02:55):
~#! rn=Flintnail rt=887808177 rg=d.fernwest
~#! tid=887808177
Auf diesem netten Sammelplatz reicht ein einfaches "schau", "unt tor", "unt
schild", "lies schild". Wer dann noch immer keine Fahrkarte kauft, ist selbst
schuld. ;-)

Ringor

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



Re: Re: Neulich bei der Karawane (Yaren, 18. Feb 1998, 15:22:03):
~#! rn=Ringor rt=887810575 rg=d.fernwest
~#! tid=887808177
uebrigens auch schwer, wenn man kein geld dabei hat ...

Yaren ist das auch schon passiert und der hat dann 'ende' gemacht ;-)

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



Re^3: Neulich bei der Karawane (Larissa, 19. Feb 1998, 08:51:42):
~#! rn=Yaren rt=887811723 rg=d.fernwest
~#! tid=887808177
Hm,
mir ists mal anders passiert. ich kaufe lieb und brav eine Karte,
wie es sich gehoert, aber Jofl (idel und im 'verfolge'-modus) hat natuerlich
keine......


lari, weiss seit dem dass Goetter prima metzeln koennen.

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



Re: Neulich bei der Karawane (Nixihou, 19. Feb 1998, 15:33:55):
~#! rn=Flintnail rt=887808177 rg=d.fernwest
~#! tid=887808177
hmm, man kann die beamten in fernwest bestechen... dazu braucht man keine
einreisegenehigung ....

nixi

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



Re^4: Neulich bei der Karawane (Key, 20. Feb 1998, 17:27:51):
~#! rn=Larissa rt=887874702 rg=d.fernwest
~#! tid=887808177
Hmm ist das dann Spielerhilfe? :))
Oder Goetterhilfe weil du Jof gassi gefuehrt hast? :)

Key

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



Karawane (Deepblue, 24. Mar 1998, 09:33:08):
Waere es moeglich, 2 Karawanen entgegengesetzt fahren zu lassen? Du Wartezeit
ist derzeit ja bissel arg lang :-(

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



Re: Karawane (Teddy, 24. Mar 1998, 12:11:50):
~#! rn=Deepblue rt=890728388 rg=d.fernwest
~#! tid=890728388
Geh halt zu Fuss nach Fernwest

Teddy

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



Re: Re: Karawane (Alpha, 24. Mar 1998, 17:23:00):
~#! rn=Teddy rt=890737910 rg=d.fernwest
~#! tid=890728388
Wenn der Weg sich nicht immer aendern wuerde....
Alpha.

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



Re^3: Karawane (Teddy, 24. Mar 1998, 17:57:28):
~#! rn=Alpha rt=890756580 rg=d.fernwest
~#! tid=890728388
Dann waers ja langweilig, ausserdem kann man den von Hand ganz gut laufen und
es geht schneller, als mit der Karawane


Teddy

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



Re^4: Karawane (Gnome, 24. Mar 1998, 21:33:55):
~#! rn=Teddy rt=890758648 rg=d.fernwest
~#! tid=890728388
noch schneller gehts natuerlich mit pegasus :)

gnOme

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



Re^5: Karawane (Gloinson, 24. Mar 1998, 21:34:50):
~#! rn=Gnome rt=890771635 rg=d.fernwest
~#! tid=890728388
Nu genau, und da kann man sich ja mitnehmen lassen. Leg Dir also, wie Alpha,
einfach mal 'nen Seherzweitie zu.

Gloin

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



Re^6: Karawane (Lug, 25. Mar 1998, 02:10:54):
~#! rn=Gloinson rt=890771690 rg=d.fernwest
~#! tid=890728388

Quark,


nimms Portal, werd Seher.

Lug

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



Re^7: Karawane (Gloinson, 25. Mar 1998, 02:11:41):
~#! rn=Lug rt=890788254 rg=d.fernwest
~#! tid=890728388
Bloedsinn. Werd Magier und nimm Goto.

Gloin

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



Re^8: Karawane (Alpha, 25. Mar 1998, 03:14:59):
~#! rn=Gloinson rt=890788301 rg=d.fernwest
~#! tid=890728388
Als Schuettler geht notfalls noch Eile XX, aber leider nicht allzuoft, und
erst recht nicht zum Tanken:(
Alpha.

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



Re^8: Karawane (Boing, 25. Mar 1998, 08:42:42):
~#! rn=Gloinson rt=890788301 rg=d.fernwest
~#! tid=890728388
Portal ist echt schneller, bis ich den richtigen Pfad im BVerzeichnisbaum#
gefunden habe, koennen Stunden vergehen ...
  Boing
PS: Misttastatur

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



Re^9: Karawane (Gloinson, 25. Mar 1998, 12:21:23):
~#! rn=Boing rt=890811762 rg=d.fernwest
~#! tid=890728388
Sollte man mal mitloggen, wie oft invis-Magier mit Portalen durch die
Gegend scripten :)

Gloin

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



Re^10: Karawane (Hangover, 25. Mar 1998, 12:21:53):
~#! rn=Gloinson rt=890824883 rg=d.fernwest
~#! tid=890728388
Wieso invis?

-Hangover

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



Re^10: Karawane (Damien, 25. Mar 1998, 14:02:49):
~#! rn=Gloinson rt=890824883 rg=d.fernwest
~#! tid=890728388
* unschuldig pfeif *


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



Re^3: Karawane (Deepblue, 26. Mar 1998, 14:47:18):
~#! rn=Alpha rt=890756580 rg=d.fernwest
~#! tid=890728388
wie geht der ueberhaupt?

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



Re^3: Karawane (Wurzel, 26. Mar 1998, 20:58:27):
~#! rn=Alpha rt=890756580 rg=d.fernwest
~#! tid=890728388
der weg aendert sich eigentlich vor allem deswegen, damit nicht jeder
da einfach durchscripten kann. es ist zwar machbar, aber die meisten
haben, bis sie tf so weit geblickt haben, eh die huerde zum seher laengst
genommen :)
warum soll man da nicht so leicht durchscripten koennen (die frage kommt
ja bestimmt)?
weil es die fernwestler so wollten. entweder so, oder kein fussweg.

wurzel

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



Dojokneipe (Li, 24. Apr 1998, 10:13:42):
ni hao!
die Kneipe im dojo des Grauens hat ein neues Getraenk und die Ente al la Xian
wirkt anders.
viel Spass damit,
Li

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



Lan Fu (Li, 29. Apr 1998, 10:38:37):
In Lan Fus Wonne haben sich Preise und Wirkung von Ginsentee und Herbstschwein
leicht geaendert. Ich hoffe zum Vorteil :-)
Li

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



Hort (Li, 26. Aug 1998, 09:31:33):
Ni hao!
Der Hort des Dai Won Long wurde nun so veraendert, dass man man beim
einschlafen hinausschwimmt und dass nur eine person gleichzeitig hineinkommt. 
LI

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



Hallo! (Li, 21. Feb 1999, 01:06:18):
Ni hau!
sorry Leute, dass ich laenger nicht da war, das wird sich jetzt aber wieder
aendern.
Li

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



Re: Hallo! (Anatol, 21. Feb 1999, 01:09:40):
~#! rn=Li rt=919559178 rg=d.fernwest
~#! tid=919559178
"Ni hau!"
      ^ 

Du warst wohl wirklich sehr lange nicht mehr hier :o).

Willkommen daheim!
Anatol


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



Re: Hallo! (Wim, 21. Feb 1999, 01:10:25):
~#! rn=Li rt=919559178 rg=d.fernwest
~#! tid=919559178
Ni hao ma? Wo hen hao, ni ne?

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



Re: Hallo! (Songoku, 22. Feb 1999, 10:35:21):
~#! rn=Li rt=919559178 rg=d.fernwest
~#! tid=919559178
konban wa!


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



Re: Re: Hallo! (Bottom, 22. Feb 1999, 19:49:32):
~#! rn=Songoku rt=919679721 rg=d.fernwest
~#! tid=919559178

Si ban jangten ho, shui ta?
Shen te xhiao xhiao langtan go wen feng.
Lo bah kuan deng. *rotfl*


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



mal was fuer die profis (Jimdigriz, 22. Feb 1999, 19:59:27):
Ni Hao,

Zai yi ge nanhai shiba sui shengri na tian, ta de baba
gei le ta yibai yua, ergie shuo. "Ni Yinggai qu jiyuan!
Nazhe zhe yibai kuai, tamen hui jiao ni ruhe chengwei yige nanren!"
Nanhai nazhe yibai kuai chufa le. Tu zhong ta jingguo ta
nainai jia, nainai shuo. "Ni bubi hua zhege qian, wo keyi mianfei
jiao ni!" Ranhou tamen zuo le na jian shi. Zhihou nanhai huijia
le. Ta gaosu baba ta zai nainai nali xue dao le. 
Baba feichang shengqi, ta shuo: 
 "Ni zeme keyi han wo mama zuo na jian shi ??"
nanhai huida: "Na you zeyang ? Ni hai bu shi geng wo
 mama zuo? " 
:-)

JdG, kann trotzdem kein Chinesisch :-/

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



Re: mal was fuer die profis (Bottom, 22. Feb 1999, 20:15:18):
~#! rn=Jimdigriz rt=919713567 rg=d.fernwest
~#! tid=919713567

Zhihou nanhai huijia le? Tachibalan!
Tende niubo mueh dong, eh?


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



Re: mal was fuer die profis (Yendi, 23. Feb 1999, 20:17:02):
~#! rn=Jimdigriz rt=919713567 rg=d.fernwest
~#! tid=919713567
OK, kann das mal jemand uebersetzen?

YTY


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



Re^18: Yrdsteine (Ulo, 12. Jun 1999, 10:48:04):
~#! on=Tarina ot=929036186 og=d.unterwelt
~#! rn=Ulo rt=929010109 rg=d.unterwelt
~#! tid=928519874

>Die schwere Erreichbarkeit von Fernwest gehoert zum Konzept.
[...]
>Da sind wir zutiefst undemokratisch und autoritaer

Dazu faellt mir ein Gedicht ein, das besser ausdrueckt, was mir
mal wieder grad durch den Kopf geht:

Der volle Sack
                     Wilhelm Busch

Ein dicker Sack - den Bauer Bolte,
der ihn zur Muehle tragen wollte,
um auszuruhn, mal hingestellt,
dicht an ein reifes Aehrenfeld -
legt' sich in wuerdevolle Falten
und fing 'ne Rede an zu halten.
                                                           
"Ich", sprach er, "bin der volle Sack.
Ihr Aehren seid nur duennes Pack.
Ich bin's, der euch auf dieser Welt
in Einigkeit zusammenhaelt.
Ich bin's, der hoch vonnoeten ist,
dass euch das Federvieh nicht frisst;
ich, dessen hohe Fassungskraft
euch schliesslich in die Muehle schafft.
Verneigt euch tief; denn ich bin der!
Was waeret ihr, wenn ich nicht waer?"

Sanft rauschten die Aehren:
"Du waerst ein leerer Schlach, wenn wir nicht waeren."

----------
Amen.
Tarina                             

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



Re^19: Yrdsteine (Ulo, 12. Jun 1999, 11:20:41):
~#! rn=Ulo rt=929177284 rg=d.fernwest
~#! tid=928519874

Nettes Gedicht, aber der Sack in dem Gedicht faellt doch hauptsaechlich
wegen seiner "ohne mich seid Ihr nichts" Einstellung auf. Mir fehlt da der
Bezug zu meinem vorigen Artikel. Ich kann mich nicht erinnern, irgendwie
Dankbarkeit eingefordert zu haben. Wenns in dem Gedicht um Sturheit ginge,
koennte ich vielleicht einen Bezug herstellen :), aber so.....

Ich werde den Verdacht nicht los, dass das hartnaeckige Festhalten an
der schweren Erreichbarkeit von Fernwest mir als Willkuer ausgelegt wird,
und die Existenz eines Konzeptes als Schutzbehauptung. Daher im Folgenden
das derzeitige Konzept von Fernwest:

Datei:  +fernwest/texte/fernwest.txt
Autor:  Puma
Inhalt: Konzept fuer die neue Region Fernwest
Stand:  28.02.95
Update: 5.6.97 /Li
Update: 12.6.99 /Ulo

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

Einstimmung:
-=-=-=-=-=-=

Der ferne Westen, lang ist ueber ihn geredet worden. Oft nur in Geruechten oder
Vermutungen erwaehnt, Thema von unzaehligen Magiereinzelgespraechen, doch nun
lichtet sich langsam zum ersten Mal der Schleier des Mysterioesen, die Nebel
der Vergessenheit steigen bedaechtigt die gruenen Berghaenge hinauf und machen
Platz fuer die ersten Sonnenstrahlen des heranbrechenden Tages.
Von fern dringt der dumpfe Klang der grossen Roehrenglocke im Ahnentempel des
ShaDoan ueber die weiten Reisfelder und ruft seine Kinder zur Arbeit. Als die
letzten kuehlen Schwaden sich aus den dichten Bambushainen verabschieden
beginnt sich das weisse Xian, Perle der Kungho-Ebene zu regen, und das traege
Gemurmel seiner Bewohner erhebt sich wie feine Musik ueber der erwachenden
Stadt.
Dieser Tag ist ein besonderer Tag fuer Xian, denn es macht sich bereit Gaeste
zu empfangen. Seit ueber 300 Jahren hatte es niemand geschafft die Weiten der
Ewigen Steppe Kadui zu durchqueren, denn bucklige Bakemono, der Hunger und
missguenstige Kami herrschten dort in unholder Eintracht. Doch gestern in den
spaeten Abendstunden brachten berittene Boten die unglaubliche Nachricht vor
Ersten Minister der Stadt. Eine staubige Karawane war erschienen, voll mit
ausgehungerten, mueden Barbaren von maechtiger Statur und wahrlich ungepflegtem
Benehmen. Sie sprachen eine harte, fremde Sprache und waren in schimmerndes
Metall gekleidet, doch sie kamen in friedlicher Absicht mit einem Zug voller
seltsamer Waren, die die Aufmerksamtkeit der Sohei-Patrouille erregte.
Nichtsdestotrotz hatte sich der Erste Minister dazu entschlossen die Fremden
zu empfangen, die am Vormittag vor den altehrwuerdigen Toren Xians erwartet
wurden. Wie ein Lauffeuer hatte sich diese Nachricht durch die engen Gassen
der Stadt verbreitet und das Volk begann sich neugierig nach dem Morgengebet
auf dem Platz der Neun Perfektionen zu versammeln ...


FERNWEST - Eine Region stellt sich vor:
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Die Region Fernwest ist ein Novum unter den Regionen des MorgenGrauens, denn
sie widmet sich nicht wie bisher einer geographischen Besonderheit (Wueste,
Gebirge, etc.), sondern einem Kulturkreis des RL. In diesem Fall ist die Wahl
auf die Kultur Asiens gefallen, insbesondere auf die Chinas und Japans. Wir,
die Gruendungsmagier, sind der Meinung dass die Sitten und Gebraeuche, Bauten
und Landschaften, Stimmung und Athmosphaere dieser Kulturen in diesem unseren
Mud unterrepraesentiert sind.

--> Aber warum denn gleich eine ganze Region? Haette man das nicht in einer
    bestehenden Region unterbringen koennen?

Jein! Natuerlich haette man ein entsprechendes Gebiet ohne weiteres an eine
bestehende Region anhaengen koennen, aber die grosse Anzahl der Magier (5),
die sich auf einen Schlag zusammenfanden, um etwas zu dem Thema beizutragen,
legte den Gedanken nahe eine weitere Untereinheit zu bilden. Die Unterscheidung
liegt aber nicht nur in den organisatorischen Konsequenzen, sondern auch in
den Planungen fuer diese Region.
Zum einen in der Lage von Fernwest. Die Region liegt sehr abgelegen, weit, weit
hinter dem Gebiet von Troys Hexerqueste. Die Reise in dieses Region wird
laenger dauern, als ein Trip zu den einzelnen Inseln, die ja bekanntlich auch
als relativ 'weit vom Schuss' gelten.
Zum anderen in der kulturrellen Integritaet der Region. Das Leben in Fernwest
soll von dem gewissen 'Etwas', dem sogennanten 'Sense of Wonder' durchdrungen
sein, der den Reiz dieser fremden Kulturen ausmacht. So zum Beispiel die
'Sprachbarriere': In Fernwest spricht man eine eigene Sprache, Sengo genannt.
Deshalb gibt es spezielle Standartraeume, -NPCs, -Objekte, die der fremden
Sprache Rechnung tragen. Sie sorgen dafuer, dass Schilder nur gelesen werden
koennen, wenn die Spieler Sengo verstehen, oder der NPc nur dann vernuenftig
antwortet.
Damit das hier nicht falsch verstanden wird: Die Region Fernwest soll KEINE
blinde IMITATION der asiatischen Kulturen werden, sondern sich an ihnen
orientieren, sie also praktisch als Vorbild nehmen!
In diesem Sinne muss man sich nicht auf China und Japan begrenzen, sondern
kann auch tibetanische, malayische, mongolische und sonstige verwandte
Einfluesse nutzen, solange sie der Fremdartigkeit, dem 'Sense of Wonder' und
dem Technologiestandard nicht widersprechen (Also keine Orks, Heizungsrohre,
Elfen, Engel, U-Bahnschaechte, usw.). Alle programmierten Teile muessen zu
einem stimmigen Ganzen zusammenpassen.


 Ueberblick ueber momentan laufende Projekte in der Region Fernwest:
 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Im Moment laeuft wenig Neues:

	1.) Kleine Sachen an Xian (Li)
	2.) Den Wald der heulenden Geister, westl. von Xian (Ulo)


 Weitere Ideen, die auf ihre Realisierung warten:
 -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

Die Region an sich ist zu Beginn sehr klein, da vorerst auf ein grobes Netz,
in das weitere Gebiete eingehaengt werden koennen verzeichtet wurde, um die
Fantasie nicht durch Unmengen gleichlautender Raumbeschraenkungen abzutoeten
und den Ideen neuer Magier moeglichst viel Raum zu lassen.

Am fernen Horizont stehen:
	- eine ganze Reihe neuer Monster mit Bezug auf die Geisterwelt, die
	  das Leben in Fernwest sehr stark durchdringt (man bedenke die
	  wichtigen Rollen von Ahnengeistern)
	- chinesisch/japanische Drachen (Tengu) in all ihrer Schoenheit,
	  Weisheit und Grausamkeit

Und natuerlich alles, was Euch noch einfaellt!


 Aufforderung:
 -=-=-=-=-=-=-

Und zum Schluss natuerlich die Aufforderung an Alle, die jetzt auf den
Geschmack gekommen sind, sich an dieser noch so jungen Region zu beteiligen.
Man muss kein LPC-Guru sein, wir sind selbst keine. Man muss kein Giganto-
Projekte machen, die Studienzeit verschlingen, wie der Staat Steuern, selbst
einzelne Objekte, wie ein kleiner Faecher oder ein exotisches Monster sind
herzlich willkommen.
Einzige wirklich wichtige Voraussetzung ist ein Sinn fuer die Stimmung dieser
Region, den bereits mehrfach angesprochenen 'Sense of Wonder' und natuerlich
die Liebe zum Detail.
Dazu gehoeren fremdartig klingende Namen (Gegenstaende und Monstren koennen
oftmals nur eingeordnet werden, wenn man sie genau untersucht. Was hat man
davon wenn man 'cha' trinkt, eine 'mempo' traegt oder mit einem 'Tigbuano Buso'
kaempft, ohne sie sich mal genauer anzusehen.) genauso wie exotische
Beschreibungen (Farben, Gerueche, Auren). Auch von P_INFO sollte moeglichst
haeufig gebrauch gemacht werden. In dem Standardraum gibt es z.B. P_SMELL, so
dass man Gerueche einbauen kann.
Natuerlich brauchst du keine grosse Ahnung von den Originalen
haben. wir haben in fernwest.dic ein kleines Dictonary, in dem die wichtigsten
Dinge beschrieben werden.

Wenn Du Interesse hast, kontaktiere einfach mal einen Fernwest-RM (Ulo)

Fuer Anregungen zu diesem Konzept bezueglich Korrektur und Ergaenzung bin ich
ebenfalls sehr dankbar.





Ulo



c
c
-----------------------------------------------------------------------------



Re^20: Yrdsteine (Ark, 12. Jun 1999, 11:47:13):
~#! rn=Ulo rt=929179241 rg=d.fernwest
~#! tid=928519874
Na, ich hoffe doch, dass damit jetzt dem Wehklagen (wenn es denn eins war) ein
Ende gesetzt wurde. Das Konzept ist doch klasse, bringt lieber Ideen, wie man
hier und dort noch besser etwas umsetzen koennte, anstatt ueber 'skripte',
'erreichbarkeit' oder Sinn und Unsinn der Karawane zu diskutieren. Bug, typo
und idee statt flame, noergel und ignorier.
Wehe, da wird etwas verwaessert :-)


              *** ARK * the * Magnificent ***


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



Re^21: Yrdsteine (Novastorm, 14. Jun 1999, 10:30:19):
~#! rn=Ark rt=929180833 rg=d.fernwest
~#! tid=928519874
Gut, dass Konzept wurde jetzt wirklich einwandfrei dargelegt. Wieso gibt es
dann eigentlich ein Portal fuer die Seher unter den Spielern auf diesem
Kleinod des Morgengrauens?
(Pegasus als Alternative zur Karawane und auch den nicht ganz so leicht
erforschbaren Weg durch die Katakomben sehe ich in diesem Kontext noch ein)
    Nova

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



Re^21: Yrdsteine (Songoku, 14. Jun 1999, 10:31:29):
~#! rn=Ark rt=929180833 rg=d.fernwest
~#! tid=928519874
wie waere es, wenn karatekas FW als heimat waehlen koennten?? 
(also im dojo statt z.b. in der abenteurergilde anfangen nach einem der
seltenen reboots)

Sayounara.

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



Re^22: Yrdsteine (Ulo, 14. Jun 1999, 16:18:12):
~#! rn=Songoku rt=929349089 rg=d.fernwest
~#! tid=928519874

zur Frage von Nova:
Seherportale und Pegasus sind Seherprivilegien, die tasten wir nicht an...

zur Frage von Songoku:
Das ist technisch kein Problem, war auch fast schonmal eingebaut, aber
irgendwie kam kein Segen von Oben... Ich schlage daher vor, dass alle,
die sich das wuenschen, viele viele Mails an Erzmagier und Goetter 
schreiben, dass diese es doch erlauben moegen. Sobald die Erlaubnis da ist,
bau ich es gleich ein.

Ulo

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



Re^21: Yrdsteine (Widewitt, 14. Jun 1999, 23:13:31):
~#! rn=Ark rt=929180833 rg=d.fernwest
~#! tid=928519874
Tja ARK

Da kann ich Dir nur voll und ganz zustimmen!!

Widewitt fuer ein besseres FernWest!

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



reisfeld (Padreic, 15. Jun 1999, 11:44:13):
Ich habe ein paar Aenderungen am Reisfeld (bzw. dem stolpern) vorgenommen,
naja.. ihr werdet es schon merken...

Padreic

P.S.: Der Kampfbug im Schutzgeist ist nun auch raus :).

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



Re: reisfeld (Tunixgut, 15. Jun 1999, 11:44:59):
~#! rn=Padreic rt=929439853 rg=d.fernwest
~#! tid=929439853
Stirbt man ab sofort bei dem harten Aufschlag?

's Karate-Zwerchle - traut Padreic nicht...

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



Re: Re: reisfeld (Paracelsus, 15. Jun 1999, 14:16:20):
~#! rn=Tunixgut rt=929439899 rg=d.fernwest
~#! tid=929439853
Nur im Winter, wenn das Reisfeld gefroren ist. Kurz nach Sonnenuntergang.

Para* O:>

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



Re^3: reisfeld (Tunixgut, 15. Jun 1999, 14:17:27):
~#! rn=Paracelsus rt=929448980 rg=d.fernwest
~#! tid=929439853
Netter Smiley! :o)

's Karate-Zwerchle - sowieso meistens einzeilig.

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



Re^5: Projekt ZPK (Silvana, 19. Jan 2001, 18:39:08):
~#! rn=Qitess rt=979921862 rg=entwicklung
~#! tid=979860169
Hmmm... Da mir Li ja Xian vermacht hat... Falls jemand Ideen hat, wie man das
Badehaus etwas... aehm... sagen wir mal: interessanter... gestalten kann, nur
her damit. Leider haben gerade die Damen in der Spielerwelt immer wieder mit
hochrotem Kopf abgelehnt, zur Verbesserung des Services beizutragen, obwohl
sie nicht muede wurden, sich ueber mangelnde Phatasie zu beklagen... Ob ein
Badehaus nun fuer Zwerginnen das Ideale ist, sei an dieser Stelle einmal
dahingestellt... ;-)

  Silvana

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



Re^6: Projekt ZPK (Rardian, 21. Jan 2001, 05:32:15):
~#! rn=Silvana rt=979925948 rg=d.fernwest
~#! tid=979860169
Hm... wenn du schon dabei bist, koenntest du ja mal ein paar nette
Alternativraeume zu dem Cut&Paste-Typo-Chaos in den Katakomben von Xian
schreiben :) Ich denke, alles neue wird besser sein, als das, was bislang da
unten z finden ist... grauslich!

Rar, eine Stelle zeigend, wo der Spaten angesetzt werden koennte...

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



Re^7: Projekt ZPK (Mingo, 21. Jan 2001, 12:16:17):
~#! rn=Rardian rt=980051535 rg=d.fernwest
~#! tid=979860169
Hm.
> finger rardian
...
Magierlevel: 20 (Lehrling)
...

Silvana? Da ist ein Freiwilliger, der noch ein weiteres Gesellenstueck machen
moechte :)

Mingo

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



Re^8: Projekt ZPK (Silvana, 21. Jan 2001, 12:21:04):
~#! rn=Mingo rt=980075777 rg=d.fernwest
~#! tid=979860169
Guuuuute Idee. :)
Wo ich doch sowieso mit der Oberflaeche, also Xian selbst, abfangen wollte...
;-)

  Silvana

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



Re^8: Projekt ZPK (Rardian, 24. Jan 2001, 17:19:50):
~#! rn=Mingo rt=980075777 rg=d.fernwest
~#! tid=979860169
Hm... Warum eigentlich nicht?
Sind ja nur ca. 40 Raeume da unten. Wenn ich dann die Zeit, die ich fuer die
Raeume meines GS bislang benoetigt habe, auf diese hochrechne, koennen wir uns
auf einen Anschluss selbiger Raeume in 3 bis 4 Jahren freuen :)
Oder will vielleicht doch jemand anders?

Gruss,
  Rar.

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



Re^9: Projekt ZPK (Mingo, 24. Jan 2001, 22:41:31):
~#! rn=Rardian rt=980353190 rg=d.fernwest
~#! tid=979860169
Hm. Lass meine Magiermami mit Dir zusammenarbeiten und ihr koennt die Raeume
in fuenf Wochen in einem anderen MUD anschliessen. An der Zeitabschaetzung
fuer MG ist allerdings nichts zu aendern.

Mingo

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



Re^9: Projekt ZPK (Rardian, 27. Jan 2001, 06:06:11):
~#! rn=Rardian rt=980353190 rg=d.fernwest
~#! tid=979860169
Ich bezog die Zeitabschaetzung nicht auf den _Anschluss_, sondern auf die
Entwicklung. Diese waere in jedem anderen Mud aehnlich hoch. Wie lange ich
dann im Endeffekt tatsaechlich auf den Anschluss warten muss, wenn dann mal
alles fertig ist, werd ich erst dann erfahren...

Rar, richtigstellend.

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



Re^10: Projekt ZPK (Rardian, 27. Jan 2001, 06:07:53):
~#! rn=Rardian rt=980571971 rg=d.fernwest
~#! tid=979860169
Ach ja, Nachtrag: Was soll ich mit meinen Raeumen in einem anderen Mud??? Ich
will, dass meine Raeume _hier_ angeschlossen werden (wenn sie irgendwann mal
fertig sind) udn nicht in einem anderen Mud, das ich gar nicht kenne...

Rar, ergaenzend.

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



Re^11: Projekt ZPK (Mingo, 27. Jan 2001, 11:17:36):
~#! rn=Rardian rt=980572073 rg=d.fernwest
~#! tid=979860169
Die Verwandten meiner Mami koennen Dir in drei anderen MUDs diesen schnellen
Anschluss versprechen. Aber meine Mami meinte ebenfalls Entwicklung und
Anschluss. Frag nicht warum diese Diskrepanz zwischen MG und anderen MUDs so
hoch ist, muss was magisches dran sein ... es sollten endlich mal das
Intermud-Spielprotokoll fertigwerden.

Mingo

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



Trainingsraeume... (Zook, 10. Jul 2001, 17:38:11):
Die Trainingsraeume westlich vom Dojo sind leider zwecks kleinerer
Ausbesserungen fuer kurze Zeit nicht zugaenglich.

Gruss, Zook.

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



Shinto (Zook, 23. Sep 2001, 19:40:18):
Damit hier auch einmal etwas drin steht: Ich habe am Shinto einen kleinen
Bugfix vorgenommen. Bitte meldet bei mir, falls das nicht so genau
funktioniert, wie man sich das ueblicherweise vorstellt. 

Vielen Dank.

Gruss, Zook.

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



Durchgangsverkehr (Schleicher, 19. Mar 2002, 13:34:46):
Liebe Scrip... aeh Reisende,
wie vielleicht einigen von Euch, so Ihr denn Seher seid, aufgefallen ist, hat
sich eine winzige Kleinigkeit geaendert. Man landet wenn man ein gewisses
Portal benutzt nun nichtmehr direkt in meinem Dojo. Und das hat folgende
Gruende: a) Sollen meine Schueler hier Karate lernen und dabei nicht dauernd
von fliegenden, explodierenden und sonstwie erscheinenden Spielern anderer
Gilden gestoert und um Ihre konzentration gebracht werden. b) Bin ich es es
leid das es hier dauernd nach Schwefel stinkt. Und schliesslich c) Seher die
grade eben noch auf der Schleimebene waren stapfen jetzt einfach mal quer
ueber meine schoenen Bodenmatten und sauen hier alles ein. Ich bin Sensei und
keine Putze, aber wegmachen musste ich den ganzen Dreck. Aus diesen Gruenden
also habe ich einem Magier gemailt ob man das Tor nicht versetzen kann, man
konnte und alle sind zufrieden! Los, sied zufrieden!
i.A. Funakoshi

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



Re: Durchgangsverkehr (Pitfall, 19. Mar 2002, 13:35:40):
~#! rn=Schleicher rt=1016541286 rg=d.fernwest
~#! tid=1016541286
baust du dann auch die teleport stelle fuer zaubis aus?
ich lande irgendwie immer zufaellig mal da

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



Karawane (Tilly,  3. Sep 2002, 17:15:39):
Moin moin,

die Karawane funktioniert nun auch mit 'reise'. Falls es
da zu Problemen kommen sollte (ich persoenlich erwarte
keine *grins*), sagt mir bitte Bescheid. Der Bug, das sie
ab und an mal nicht kam, sollte auch behoben sein.

 - Tilly -

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



Die Repfiles ... (Jenandra, 20. Mar 2003, 15:30:44):
... haben sich etwas gelichtet. Fuer alle, die es schon aufgegeben
hatten: es lohnt sich wieder, typos, bugs und ideen abzusetzen :-)

Falls irgendwas nicht tut wie es soll, bitte mich ansprechen.

- Jenandra -

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



Anfragen / Ideen / Bugs etc. (Zook, 22. Okt 2003, 00:20:53):
Hallo zusammen, da Jenandra in den naechsten Wochen nicht anwesend sein 
kann, koennt Ihr Euch mit Anfragen und Ideen sowie bei dringenden Dingen zu
Fernwest an mich wenden. Oder Ihr verwendet wie gehabt das Mail-Ali 
"rm_fernwest", das geht dann auch an mich.

Gruss, Zook.

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



Gruft unter Xian (Feigling, 20. Nov 2003, 20:35:05):
Hallo,

die Skelette in der Gruft unter Xian sind bischen schlauer
geworden und haben endlich begriffen warum ihnen die
Spieler immerwieder entkommen. Also erwartet da eine kleine
Veraenderung in Verhalten.

Feigling, Ungeziefer-Beauftragter ;-)

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



Neulich im Nirgendwo... (Gabylon, 18. Aug 2004, 13:31:46):
Die unendliche Steinwueste.
Ein leichter Wind geht von Nordwesten her.
Fusspuren verlaufen sich direkt in die Wueste. Sie scheinen neu zu sein.

Du sagst: Chu Sao, guter Mann. Ich komme hier nun recht haeufig vorbei, um
Du sagst: Dir ein wenig Gesellschaft zu leisten. Aber diese Fusspuren hier...
Du schuettelst den Kopf.
Du sagst: Die habe ich noch nie gesehn.

Chu Sao erhebt sich langsam und bedaechtig aus seinem Lotussitz.
Dann faengt er an zu sprechen.

Chu Sao sagt: Ja das stimmt. Auch mir sind sie neu. Seit kurzem kommen hier
Chu Sao sagt: einige mutige Abenteurer an, die die Wueste erkunden wollen.
Chu Sao sagt: Doch ich habe nur die wenigsten lebendig wieder herauskommen
Chu Sao sagt: sehen. Das betruebt mich ein wenig. Vielleicht mag das mit dem
Chu Sao sagt: Turm dort hinten in der Wueste zusammenhaengen?

Du kneifst die Augen zusammen. Jetzt erkennst Du das laengliches Gebilde,
welches nicht allzuweit mitten in der Wueste aufragt.

Du sagst: Ach, Du meinst den Turm dort? Er wurde frueher der 'Tempel des
Du sagst: Todes' genannt.
Du lachst.
Du winkst ab: Der ist doch unbewohnt und steht seit Ewigkeiten leer.
Du winkst ab: Zumindest seit die Schattenkrieger aus ihnen vertrieben worden
Du winkst ab: sind. Es muss noch einen anderen Grund fuer das Verschwinden
Du winkst ab: der Helden geben.
Du fuegst leise hinzu: Oder...?

Chu Sao wiegt den Kopf abschaetzend hin und her.
Chu Sao sagt: Man munkelt, dass es einen neuen Besitzer gibt und dass dort
Chu Sao sagt: drinnen wieder Leben herrscht. Ich weiss leider auch nichts
Chu Sao sagt: Genaues. Vielleicht tust Du dies einfach mal kund und bittest
Chu Sao sagt: ein paar sehr mutige Abenteurer, sich der Sache anzunehmen?
Chu Sao sagt: Wenn sich wieder die Schattenkrieger oder andere gefaehrliche
Chu Sao sagt: Gestalten dort eingenistet haben, gilt es, sie von dort zu
Chu Sao sagt: vertreiben.

Du nickst Chu Sao zu.
Du sagst: Ja, das wird das Beste sein. Aber...
Du stockst.
Du sagst: Dann schicke ich sie vielleicht ja geradewegs in den Tod?

Chu Sao sagt: Vielleicht. Aber... Wer weiss das schon? Trotzdem gilt es, das
Chu Sao sagt: Geheimnis um diesen wiedererwachten Tempel zu lueften.

Du verneigst Dich vor Chu Sao.
Du sagst: Du hast sicherlich Recht, Chu Sao. Wie immer.

Chu Sao verzieht sein sorgenvolles Gesicht zu einem Laecheln.
Chu Sao sagt: Ich weiss... ich weiss.
Chu Sao versinkt wieder in seinen Lotussitz.

Du machst Dich leise und unauffaellig aus dem Staub.

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



Lan Wun (Ark, 12. Jan 2006, 12:35:53):
Aufgrund der berechtigten Kritik eines Spielers habe ich einige
Syntaxaenderungen/-ergaenzungen sowie einen Bug und diverse Typos
vorgenommen/beseitigt. An dieser Stelle nochmal die Bitte: nicht aergern, es
wird irgendwann besser, aber nur, wenn ihr gezielt sagt, was nicht stimmt.
Wenn sowas nicht per "idee", "fehler", "detail" oder "typo" im File des
Magiers nachzulesen ist, wird die Ursache des sicher berechtigten Grolls
wahrscheinlich nie beseitigt.


              *** ARK * the * Magnificent ***


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



Ein Bo... (Zook, 10. Aug 2006, 12:44:36):
... ist nun ein Kampfstab (gilt nur fuer neu geholte).

Zook.

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



Re: Ein Bo... (Zook, 10. Aug 2006, 12:55:02):
~#! rn=Zook rt=1155206676 rg=d.fernwest
~#! tid=1155206676
gleiches gilt fuer die Objekte "Jo" und "Tetsubo". ;) Zook.

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



Re: Re: Ein Bo... (Montanus, 10. Aug 2006, 14:43:38):
~#! rn=Zook rt=1155207302 rg=d.fernwest
~#! tid=1155206676
Und was ist mit einem "Yo"?

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



Re^3: Ein Bo... (Zook, 10. Aug 2006, 14:45:48):
~#! rn=Montanus rt=1155213818 rg=d.fernwest
~#! tid=1155206676
Das habe ich dort nicht gefunden. Zook.

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



Wer-Kan-Hel-Fen (Ennox, 14. Aug 2007, 08:18:15):
In den Strassen von Xian bin ich letztens einem ziemlich temporal fixierte
Typen begegnet, der eine Kruemelspur hinter sich herzog und seltsames Zeug
faselte. Es schien als wuerde er irgend etwas alleine nicht auf die Reihe
bringen. Ihr koennt Euch das ja mal angucken.

Xon-Ne

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



Der Fluss Tain Wen Tai ... (Vanion, 31. Dez 2007, 16:53:44):
Mutige Abenteurer haben ihren Mut zusammen und ihr Herz, aeh ihre Machete in
die Hand genommen und den noerdlichen Weg entlang des Flusses Tain Wu Tai
etwas erweitert. Nun passen auch die fuer dieses Gebiet eigentlich schon zu
grossen Spieler durch den Pfad in die Schilflandschaft.

V*
PS: Danke an Tassram fuer den Hinweis.

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



Magierhilfe (Vanion, 15. Jan 2008, 20:29:20):
Hallo mutige Forscher, heldenhafte ForscherInnen :)

im Fernwest gibt es einiges zu tun. Viele der Gebiete sind aelter und
technisch nicht ganz auf Stand. Ich versuche gerade strukturiert durch die
Dateien zu gehen und Sachen, die mir auffallen zu beheben. Ganz oben auf
meiner Liste stehen hier Quests, bei Lan Wun habe ich auch schon einiges
debuggt.

Warum schreib ich euch das? Aus zwei Gruenden:
1.) Ich will euch auf diesem Wege mitteilen, dass es im Moment im Fernwest
einen
    aktiven RM gibt, eure Bug-Meldungen also nicht in der Versenkung
verschwinden.
2.) Ich benoetige eure Hilfe. Wenn ihr Probleme/Fehler in Fernwest kennt, bei
    denen ihr meint, sie sollten schnell ausgebaut werden, bitte ich euch um
    eine kurze Mail. Ich habe zwar vor, alles durchzugehen, aber auch bei
einer
    kleinen Region wie Fernwest ist das sehr viel Arbeit. Es kann also sehr
    kange dauern, bis ich euer Lieblingsbug finde. Wenn ihr also bereit seid
    zur Magierhilfe, ich bin bereit mir die Sachen anzuschauen.

V*
PS: Bitte schreibt mir nicht, weil ihr meint, ein Gebiet sei nicht sehr gut
    beschrieben. Ich weiss, dass einige Gebiete nicht dem heutigen Stand ent-
    sprechen, aber zunaechst geht es mir um die gemeineren Fehler. Seid aber
    bitte nicht boese, wenn ich nicht direkt nach einer Mail losspringe. Ich
    Packs mir ins Todo und arbeite es ab. Und es gibt eine Antwort auf eure
    Mails.

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



Die Konfusius-Quest (Arathorn, 24. Sep 2013, 07:18:18):
Hallo zusammen,

der weise Konfusius ist nach einigem Hin und Her zu der Ueberzeugung gelangt,
dass es moeglich sein sollte, seine Schriftrolle auch aus der Hand von 
Helfern zu akzeptieren, die sie ihm mit neumodischen Anweisungen wie 
"gib konfusius schriftrolle" ueberreichen wollen.
Es sollte also in Zukunft nicht mehr zu Problemen bei der Rueckgabe besagter
Rolle kommen. Wenn doch: Info an den RM oder mich.

Gruss, Arathorn.

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



Kunde aus Fernwest (Ark, 18. Feb 2014, 00:53:49):
Es gibt wohl ein wenig Aufruhr im Palast zu Xian. Ein allseits bekannter
Haendler von guten und weniger guten Waffen - und ein Broker von Geruechten,
Meinungen, Nachrichten und geheimen Informationen - scheint etwas veraergert
zu sein. Vielleicht kann man ihm ja helfen ... wenn man tapfer und forsch
Initiative zeigen will.


              *** ARK * the * Magnificent ***


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



Es ist noch Suppe da! (Notstrom, 12. Jan 2015, 15:23:49):
... zumindest, wenn Ihr welche kocht!

Ich habe mit Li Bai in Fernwest gesprochen, und er hat sich einverstanden
erklaert, jedem eine besondere Belohnung zuteil werden zu lassen, der bei
ihm eine leckere fernwestliche Suppe kochen mag. Bestimmt helfen Euch die
liebliche Mei Feng und der tapfere Jun Jie ebenfalls.

Li Bai wartet vor seinem Haeuschen auf Euch, wenn Ihr vom Karawanensammel-
platz nach Xian wandert, koennt Ihr sein Anwesen nicht verfehlen. Gemein-
sam mit unseren 3 Freunden wuensche ich Euch viel Spass dort!

Notstrom.

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



Re: Es ist noch Suppe da! (Rhovan, 18. Jan 2015, 23:56:47):
~#! rn=Notstrom rt=1421072629 rg=d.fernwest
~#! tid=1421072629
Da faellt mir nur eins ein:
https://www.youtube.com/watch?v=Shj27gPjNX8

Gruss
Rhovan

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



Die Unterwelt von Xian (Arathorn,  5. Okt 2015, 18:21:09):
Die Unterwelt von Xian ist nun wieder so zugaenglich, dass man nicht
unvermittelt eingesperrt ist.

Asche auf mein Haupt. ;-)

Arathorn.

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



Die schwarzen Kugeln des Todes... (Gabylon,  2. Jan 2016, 23:58:19):
... erkennen im Spieler ab sofort viel besser, ob er planlos oder planvoll
handelte. Sie koennen aber weiterhin sehr toedlich sein.

gab

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



Katakomben von Xian (Arathorn, 19. Jun 2016, 19:04:14):
Hallo zusammen,

ich habe gerade einen uralten Bug in den Katakomben von Xian erschlagen,
der sich geweigert hat, einfach an Altersschwaeche zu sterben, also musste
ich nachhelfen. Nun ist er aber erledigt und man kann auf der oberen Ebene
der Katakomben nicht mehr in Bereichen herumlaufen, die scheinbar in der
Wand liegen, und Einbahnstrassen gibt's da nun auch nicht mehr.

Wer schonmal dort war, sollte vielleicht seine Karten aktualisieren. ;-)

Gruss, Arathorn.

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



Der Fluss Tain Wen Tai (Arathorn, 15. Apr 2018, 19:55:14):
Hallo zusammen,

die Flussbiegung des Flusses Tain Wen Tai in der Schilflandschaft von Li
kann nun nicht mehr ueberquert werden. Dass das bisher moeglich war, war
so nicht beabsichtigt. Ab jetzt sollte es dort geografisch weniger verwirrend
aussehen.

Danke an Krendar, den Fehler hat offenbar 20 Jahre lang niemand so richtig
bemerkt. ;-)

Arathorn.

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



Tigerjagd (Notstrom,  3. Mar 2020, 21:35:11):
    Hallo an alle mutigen Abenteurer!
  
Unsere kleine Gruppe von netten Jaegern ist auf Tigerjagd. Der Bambuswald
ist allerdings riesig, und der Tiger ist ein Meister darin, ungesehen in
ihm herumzupirschen. Wir freuen uns also, wenn jemand uns hilft, ihn
aufzuspueren. Wer bereit dazu ist, findet mich am Ende des Knueppeldammes,
nordwestlich von Xian, am grossen Fluss.

Ich freue mich auf Eure Hilfe!

Herzlichst,
Xiao Yin.

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



Re: Tigerjagd (Notstrom,  3. Mar 2020, 21:35:39):
~#! rn=Notstrom rt=1583267711 rg=d.fernwest
~#! tid=1583267711
    Huhu,
  
wieder einmal ist ein kleines Gebietchen fertig. Ich bedanke mich bei meinen
fleissigen Testern Bendeigid, Afunial, Nondrum und Janne und bei meinen
Magierkollegen und wuensche allen Spielern viel Spass damit.

Da dies manchmal in Vergessenheit zu fallen scheint: Denkt an den Befehl
"syntaxhilfe" (siehe auch "hilfe syntaxhilfe").

Notstrom.

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



Re: MGCoronaSchVO (Vanion,  2. Apr 2020, 22:04:48):
~#! rn=Amaryllis rt=1585715963 rg=bekanntmachungen
~#! tid=1585715963
Die Kaiserliche Tourismusfoerderung Fernwest gibt bekannt:

Die infamen Luegen der oestlichen Reiche entlarven sich quasi selbst. Die
kuerzlich erlassene MGCoronaSchVO ist ein billiger Versuch, unsere schoene
Region zu diffamieren und dem schwindenden heimischen Tourismus im Land der
Barbaren anzukurbeln.

Nie war Fernwest schoener. Erlebe die Einsamkeit des Bambuswaldes. Erkunde
naturbelassene Doerfer. Erforsche den Grossen Fluss. Die Spielersterblichkeit
ist seit Jahren *hust* ark niedrig. Die Karawane ist zeitweise eine der sechs
sichersten Karawanen im gesamten MorgenGrauen!

Wer will schon in die Schreckensspitze, wenn man die Schoenheit von Xian
erleben kann? 

Vanion, voellig freiwillig verfasst.

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



Eine Erleichterung ... (Notstrom, 11. Mai 2020, 13:45:16):
... zumindest fuer die Tanjians habe ich Dank Humni und der Erinnerung
von Yorrel nachruesten koennen. Der Hinweis eines gewissen Tigers, dass
man an einem bestimmten Ort besser meditieren koenne, entbehrt nun nicht
mehr jeder Grundlage.

Viel Spass,
Notstrom.

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



Das Ende allen Ungemachs (Notstrom,  6. Sep 2020, 22:17:14):
    Huhu,

wenn man genug Strapazen durchmacht, dann ueberwindet man ja manches Ungemach
wie von selbst. Auch das Bambushuepfen im Tigerwald scheint so einen Effekt
zu haben, denn wie mir berichtet wurde, huepft es sich, nachdem man sich dort
bewaehrt hat, wie von selbst ueber Reispflanzen in Bewaesserungsfeldern,
anstatt staendig ueber sie zu stolpern.

Preiset Vanion, der das Reisfeld umgegraben hat!

Bleibt gesund,
Notstrom.

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



Das Ende des schwarzen Tigers (Notstrom, 26. Nov 2020, 18:28:14):
Xiao Yin lauschte angespannt. Es war still im Bambuswald, zu still fuer ihren
Geschmack. Der Nebel verhinderte, dass sie allzuweit sehen konnte, aber die
seltsamen schwarzen Flecken, die sie in den letzten Tagen auf Blaettern, Gras
und selbst dem Erdboden bemerkt hatte, bereiteten ihr doch Sorgen. Was war das
fuer eine neue Teufelei? Lautlos pirschte sie weiter durch den dichten Bambus.
Doch ploetzlich hielt sie inne, als aus weiter Ferne, fast wie das Echo eines
Albtraumes, ein lauter Schrei durch den Bambuswald hallte ... der Todesschrei
eines Menschen.

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



Re: Das Ende des schwarzen Tigers (Notstrom, 26. Nov 2020, 18:28:42):
~#! rn=Notstrom rt=1606411694 rg=d.fernwest
~#! tid=1606411694
    Hallo zusammen,

ich wuensche Euch - gerade in Anbetracht der Sorgen, die wohl uns alle
bewegen - eine schoene, friedliche und vor allem gesunde Adventszeit.

"Friedlich" heisst natuerlich nicht, dass es nichts zu metzeln gibt, und
tatsaechlich gibt es fuer Seher ein paar neue Kleinigkeiten. Die erste
befindet sich in Fernwest. Schaut doch einmal in einer anderen Realitaet
im Bambuswald vorbei und ueberzeugt Euch selbst davon.

Wie immer gilt mein besonderer Dank meinen geduldigen Testern, den
Magierkollegen, die tatkraeftig geholfen haben, meine Ideen Realitaet
werden zu lassen, und auch den vielen Spielern, die mich mit ihrem Zuspruch
motiviert haben.


Viel Spass,
Notstrom.

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



Schwarze Tigerschilde (Notstrom, 11. Dez 2020, 19:27:31):
Huhu,

die schwarzen Tigerschilde beherbergten einen kleinen, aber peinlichen Kaefer
in sich, der offenbar aber bisher nur Derin gepiesakt hat. Ich habe gerade
den Schild entwanzt und saemtliche Exemplare ausgetauscht, ggf. muesst Ihr
die also wieder neu anziehen.

Schoenes Wochenende,
Notstrom.

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



Handschuhe (Notstrom, 16. Dez 2020, 20:21:32):
    Hallo zusammen,

gewisse Handschuhe waren bisher nur vorlaeufig genehmigt und wiesen deshalb
gewisse Einschraenkungen auf. Die Balance war fleissig und hat gerade die
(vorbehaltlich etwaiger Regelaenderungen) endgueltige Genehmigung geschickt.
Die Einschraenkungen entfallen damit, ich habe alle im Umlauf befindlichen
Exemplare ausgetauscht.

Lobt die Balance!

Hth,
Notstrom.

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



