Um ein Objekt noch genauer beschreiben zu koennen, gibt es die Moeglichkeit, Details an Objekten und in Raeumen genauer zu beschreiben. Diese Details nennt man Virtuelle Objekte oder v-item Folgende Routinen gibt es zur Beschreibung von Details: add_v_item(mapping item [, mixed *pfad ] ) delete_v_item(mixed *pfad) change_v_item(mapping map, mixed *pfad) Bei add_v_item() wird ein Mapping uebergeben, in dem alle wesentlichen Merkmale des Details gespeichert sind, so z.B. der Name, das Geschlecht und die Lang-Beschreibung. Folgende Eintraege werden unterstuetzt: name Name und Gender MUESSEN definiert sein ! gender plural adjektiv id invis genitiv Diese Eintraege kann man verwenden, um Problemen bei dativ der Deklinationen zu begegnen. Allerdings auch bitte akkusativ erst dann, wenn sich keine andere Moeglichkeit ergibt. prep Praeposition fuer die Umgebung nummer Die Nummer des V-Items. long long, noise, read, smell und take werden automatisch noise umgebrochen. take wird ausgegeben, wenn jemand ver- read sucht, das v_item zu nehmen, was natuerlich nicht smell geht. feel menge seher_info Zusaetliche Infos fuer Mitglieder der Sehergilde take living align far soul attack look_msg Diese Meldungen werden ausgegeben, wenn z.B. read_msg Das v-item angeschaut, gelesen usw wird. smell_msg Hier kann man $Der(OBJ_TP) usw verwenden. feel_msg hear_msg take_msg attack_msg Beispiel: add_v_item( (["name":"tuer", "gender":"weiblich", "adjektiv":({"geschlossen"}), "long":"Die Tuer ist zu.\n" ]) ); add_v_item( (["name":"fenster", "gender":"saechlich", "long": "Vor dem Fenster siehst du einen huebschen Kraeutergarten.", "look_msg":"$Der(OBJ_TP) schaut durch das Fenster", "take":"Das Fenster ist fest eingemauert.", "take_msg":"$Der() zerrt an dem Fenster." ]) ); add_v_item( (["name":"waende", "gender":"weiblich", "plural":1, "long":"Die Waende sind mit einer huebschen Tapete beklebt.", "id":({"wand","waende"}) ]) ); Beispiel fuer problematische Deklination: add_v_item(([ "name" : "hronzele", "gender" : "maennlich", "id" : ({"hronzele","hroags","hrumpfeln","hronzler"}), "genitiv" : "hroags", "dativ" : "hrumpfeln", "akkusativ": "hronzler", "long" : "Der Hronzele ist ein unsinniges Geschoepf. Er ist ein " "grammatikverachtendes Wesen, denn seine Deklination " "ist hoechst unregelmaessig." ]]); add_v_item (([ "name":"eichhoernchen", "gender":"saechlich", "id":({"eichhoernchen","hoernchen"}), "long":"Das Eichhoernchen sitzt hoch ueber Dir auf einem Ast.", "living":1, "soul":"Dazu muesstest Du erst mal auf den Baum hochklettern.", "attack":"Du springst wie bloede am Baum hoch, kommst aber nicht " "an das Eichhoernchen heran.", "attack_msg":"$Der(OBJ_TP) springt wie bloede am Baum hoch, aber " "$er(OBJ_TP) hat zu kurze Aermchen, um an das " "Eichhoernchen ranzukommen." ])); Diese Beschreibung kann nachtraeglich auch geaendert werden: change_v_item( (["long":"Die Tuer ist offen.", "adjektiv":({"offen"}) ]), ({"tuer"}) ); bei dieser Anweisung wird die Langbeschreibung und das Adjektiv geaendert. oder auch geloescht werden: delete_v_item( ({"fenster"}) );