1. Allgemein 2. Vorgehen bei Einfuehrung neuer Skills 3. Die Programmierung 4. Das Eintragen im Reisebuero 5. Installation des Reisebueros 1. Allgemein Das Reisebuero verwaltet vier verschiedene Wissenskills, die allgemein den Forscherdrang der Spieler belohnen sollen. Die Skills im einzelnen - Erforscht: Dieser Skill soll fuer das Betreten der wirklich schwer zu findenden, geheimen RAEUME vergeben werden. Reise: Dieser Skill soll die Reiselust des Spielers wiedergeben, d.h. wieviel hat er von UNItopias Landschaften bereist. Er wird auch fuer das Betreten von RAEUMEN vergeben. Im Gegensatz zu Erfoscht sollen dies keine besonders geheimen Orte sein, sondern vielmehr die wichtigsten Plaetze/Landschaften/Orte, die man besucht haben sollte. Gesehen: Dieser Skill soll fuer das Betrachten wichtiger oder interessanter Details vergeben werden. Also V-Items oder Objekte aber keine Raeume oder superversteckte Sachen sondern eher nette kleine Details und Kuriositaeten. Ziel ist es NICHT das Unmoegliche zu sehen, also z.B. das V-Item, das nur ueber eine Kette von 3 weiteren V-Items zu finden ist, oder unsichtbare Objekte, deren Existenz man nur erraten kann. Vielmehr soll das Anschauen von Beschreibungen belohnt werden die fuer einen Magyrianer wirklich interessant sind also NICHT irgendein langweiliger Ast an irgendeinem Baum, nur weil der schwer zu endecken ist, sondern etwas was auch Franz oder Groggy interessieren wuerde. Handeln: Dieser Skill soll fuer die Durchfuehrung von Aktionen vergeben werden. In erster Linie sollten das einfache Aktionen von Raeumen oder Objekten sein wie Minimini-Quests, Kuriositaeten, Interessantes, Besonderes, das der Atmosphaere oder dem Spass der Spieler dient. Allgemein gilt: - Die Skills sollten gut "ueber die Landschaft verteilt" werden, d.h. 2 Reiseraeume sollten nicht direkt nebeneinander liegen, in einem Erfoscht Raum sollte nicht auch noch ein besonderes Objekt "gesehen" werden muessen oder eine Aktion durchgefuehrt werden. Bitte auch zukuenftige neue Gebiete beruecksichtigen. - ALLE Orte/Aktionen/Objekte sollten fuer ALLE Spieler zugaenglich sein! Also keine Newbie-, Engel-, Gilden- oder sonstwas spezifischen Dinge! - Bei den Reiseraeumen sollten keine Engelslandeplaetze gewaehlt werden. - Bitte auch sehr Sparsam sein, falls die Dinge zu Raetsel gehoeren. Dort wird das Forschen schon mit dem Raetsel-Skill belohnt. - Bitte keine Infos ueber die existierenden Skill-Orte weitergeben, besonders nicht ueber Spiel-Zweities, da sonst bald der gesamte Aufwand fuer Einfuehrung dieser Skills hinfaellig wird (man weiss ja wie schnell hier die Informationen fliessen). 2. Vorgehen bei Einfuehrung neuer Skills Was tun, wenn man denkt, dass das was man gerade programmiert hat einen solchen Skill wert waere. 1. DL fragen, ob die Skillvergabe ins Konzept der Domain passt und ob die Skill-Bedingungen aus "Allgemeines" erfuellt sind. 2. Programmcode entsprechend anpassen. (Siehe "Die Programmierung") 3. DL das programmierte Objekt im Reisebuero eintragen lassen. 3. Die Programmierung Was ist im zu programmierenden Objekt zu tun, wenn ein solcher Skill vergeben werden soll? Bei Erfoscht: nix Reise: nix Gesehen: spieler->set_gesehen(); dort im Code einbauen, wo die Meldung generiert wird, die der Spieler zu sehen bekommt und wo sicher ist, dass der Spieler diese Meldung auch erfolgreich sehen wird. 'spieler' sollte dabei sicher derjenige sein, der die Meldung auch zu sehen bekommt! Bei "Gesehen" ist das i.a. previous_object(). Beispiel: in Objekt: string query_long() { previous_object()->set_gesehen() ; return wrap( "Ein schoenes Objekt."); } bei einem V-Item: "long" : #'long_v_item string long_v_item() { previous_object()->set_gesehen() ; return wrap( "Ein schoenes V-Item."); } Oder z.B. in einem Raum bei einer vom Raum generierten Meldung: send_message( MT_MOVE, MA_LOOK, wrap( "Ein kleiner Teufel flattert durch den Raum.")); map_objects( all_inventory(), "set_gesehen"); Handeln: spieler->set_handeln(); dort im Code einbauen, wo sicher ist, dass der Spieler die Handlung erfolgreich ausgefuehrt hat. 'spieler' sollte dabei sicher derjenige sein, der die Handlung durchfuehrt. Bei 'Handeln' ist das i.a. this_player(). Beispiel: add_action( "bla", "blub") ; int bla( string str) { if ( !str ) return notify_fail( wrap( "Das war wohl nix.")) ; else { write( wrap( "Juhu, das hat geklappt!")) ; this_player()->set_handeln() ; return 1; } } 4. Das Eintragen im Reisebuero (fuer DLs und Admins) * Allgemeines im Reisebuero: slist: Zeigt Liste der verfuegbaren Skills (erforscht, reise, gesehen, handeln) blist: Zeigt Bereiche (= Domains) in denen Skills vergeben werden koennen. (Arktis, Ebenen, Gallien, ...) klist: Zeigt das Kontigent, das jeder Bereich fuer einen Skill hat. Zusaetlich wie weit dieses Kontingent bereits ausgenutzt bzw. getestet ist. skillinfo: Du wirst informiert, falls Du einen Skill erfolgreich zugeteilt bekommst. olist: Anzeigen der Skill-Eintraege. Beispiele: olist ha va, olist -d ha va, olist -a * Das Eintragen eines neuen Skills im Reisebuero: 1. mit olist einen freien Platz fuer den einzutragenden Skill finden, Beispiel: olist ha va (= olist handeln vaniorh) 2. mit der freien Nummer aus Schritt 1 einen Eintrag machen mit oset. Beispiel: oset ha va 15 /d/Vaniorh/Tadmor/monster/franz Franz verpruegeln. Alternativ beim Skill Handeln: oset2 Damit werden 2 Eintraege bei Handeln belegt was zu einer doppelten EP-Vergabe fuehrt. Damit sollen Klein-Raetsel belohnt werden, also eine umfangreichere Folge einzelner Aktionen. 3. ggf. mit osetbit das I-, T-, E- und G-Sicherheits-Bit ein- und ausschalten (i.a. ist das nicht notwendig). Hat man fuer sich 'skillinfo' eingeschaltet, so bekommt man hier Fehlermeldungen, wenn eines der Bits die Skillvergabe blockiert. Genauere Erklaerung der Bits im Reisebuero selbst. 4. Bei Erforscht- und Reise-Skills jetzt den entsprechenden Raum erneuern. 5. 'skillinfo' einschalten und testen ob es klappt. * Pflege des Reisebueros: ocheck: testet ob die eingetragenen Objekte noch verfuegbar sind. ochkomm: aendert den Kommentar bei einem Skill-Eintrag ochpfad: aendert den Pfad eines Skill-Eintrags. Gut wen ein Objekt umgezogen ist. NIEMALS verwenden um Eintraege umzusortieren! Umsortieren soll generell nicht vorkommen! ochdel: Loescht den Pfad eines Skill-Eintrags. Moeglichst NIE verwenden, wenn Spieler schon den dort Skill bekommen habeben. NIEMALS verwenden um Eintraege umzusortieren! Umsortieren soll generell nicht vorkommen! 5. Installation des Reisebueros Nur einmal pro Mud notwendig. 1. Mit 'bneu' Bereiche (= Domains) anlegen. 2. Mit 'kset' die Kontigente (= Anzahl verfuegbarer Eintraege) pro Skill festlegen. 3. Mit 'kbset' die gesetzten Kontigente auf die Bereiche aufteilen.