FUNKTION: query_deklin DEKLARATION: varargs string query_deklin(object|mapping|int who, int art, int fall, string | *>* | int adjektiv, object|mapping|int owner) BESCHREIBUNG: Liefert deklinierte Form eines Objektnamens. Dabei wird beruecksichtigt, ob das Objekt ein personal_name hat (query_personal()==1). who Das Objekt dessen deklinierte Form gewuenscht ist. ODER eine virtuelles Objekt in der Form: ([ "name" : "...", "gender" : "..." ]) oder bei Plural ([ "name" : "...", "gender" : "...", "plural": 1 ]) ODER eine Zahl: OBJ_TO 0 this_object() (default) OBJ_PO 1 previous_object() OBJ_TP 2 this_player() OBJ_OW 3 auto_owner_search (sonst this_player()) OBJ_TI 4 this_interactive() art ART_EIN unbest. Artikel (ein) + Adjektive + Nomen ART_DER bestimmter Artikel (der) + Adjektive + Nomen ART_DIESER demonstrativ (dieser) + Adjektive + Nomen ART_MEIN possesiv 1.Person (mein) + Adjektive + Nomen ART_DEIN possesiv 2.Person (dein) + Adjektive + Nomen ART_SEIN possesiv 3.Person (sein) + Adjektive + Nomen ART_ICH personal 1.Person (ich) ART_DU personal 2.Person (du) ART_ER personal 3.Person (er) ART_KEIN negiert (kein) ART_JENER \ ART_MANCHER > Selbsterklaerend :) ART_WELCHER / ART_KEINS Kein Artikel, nur die Adjektive und das Nomen. ART_KEINS_BEST Kein Artikel, nur die Adjektive und das Nomen. ART_KEINS_UNBEST Kein Artikel, nur Adjketive(unbestimmte Form) und das Nomen. ART_NUR_DER nur bestimmter Artikel (keine Adj., kein Nomen) (ART_DER | ART_NO_ADJEKTIV | ART_NO_NOMEN) ART_NUR_EIN nur unbest. Artikel (keine Adj., kein Nomen) (ART_EIN | ART_NO_ADJEKTIV | ART_NO_NOMEN) ART_NUR_DEIN nur Possesivpronomen 2.P.(keine Adj., kein Nomen) ART_NUR_SEIN nur Possesivpronomen 3.P.(keine Adj., kein Nomen) ART_NUR_DIESER nur demonstr. Artikel (keine Adj., kein Nomen) ART_NUR_KEIN (ART_KEIN | ART_NO_ADJEKTIV | ART_NO_NOMEN) ART_AAA Automatische Artikelauswahl (ein/der) + Adj + Nomen ART_NUR_AAA Nur Artikel nach automatischer Auswahl (k.Adj.,k.Nomen) (Je nach Anzahl gleicher Objekte in der Umgebung wird ein oder der benutzt.) ART_CAPITALIZE Im Falle eines Pronoms wird jenes grossgeschrieben, im Falle einer pronomenlosen Konstruktion mit Adjektiven wird das erste Adjektiv gross geschrieben. fall FALL_DEF 0 Nominativ FALL_NOM 1 Nominativ FALL_GEN 2 Genitiv FALL_DAT 3 Dativ FALL_AKK 4 Akkusativ adjektiv string -> Grundform eines Adjektivs "" KEINE Adjektive string* -> ({ unregelm.Grundform, Deklinationsstamm }) eines Adjektivs ({ adjektiv1, adjektiv2, ...}) mehrere Adjektive int i -> i == 0 ALLE Adjektive des Objekts who. i > 0 Die ersten i Adjektive des Objekts who. i < 0 Das -i. te Adjektiv des Objekts who. int* -> ({ a, b }) Die a bis b. Adjektive des Objekts who. ({}) KEINE Adjektive owner Besitzer des Objekts. Falls 0 wird es aus dem environment berechnet. (nur fuer art == ART_SEIN bzw. ART_NUR_SEIN verwendet) Die Konstanten ART_..., FALL_..., OBJ_... werden in deklin.h definiert. Mit Hilfe von adjektiv koennen alle oder bestimmte Adjektive des Objekts oder ein fremdes Adjektiv in den Ergebnisstring zwischen Artikel/Pronom und Substantiv gestellt werden. (Adjektive eines Objekts setzt man mit set_adjektiv, siehe dort.) Alle Parameter sind optional. Defaultwerte sind dann who: this_object() art: 0 (bestimmter Artikel) fall: 0 (Nominativ) adjektiv: 0 (alle Adjektive des Objekts who) owner: 0 (auto owner search: living environment object) BEISPIELE: who sei eine Person namens Anton query_deklin(who); liefert: "Anton" who sei ein Ork query_deklin(who,ART_EIN,3,"boesen"); liefert: "einem boesen Ork" what sei ein Auto und who eine weibliche Person query_deklin(what,ART_SEIN,4,0,who); liefert: "ihr Auto" query_deklin verwendet: auto_owner_search parse_deklin_object query_pronom query_deklin_adjektiv query_deklin_name query_personal query_plural query_eigen Die Verwendung von der, dem, den, ... anstelle von query_deklin wird empfohlen!!! Siehe dort. VERWEISE: wer, der, ihr, query_pronom, set_adjektiv GRUPPEN: simul_efun, grammatik SOURCE: /secure/simul_efun/deklin.c