MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame^] | 1 | FUNKTION: |
| 2 | varargs string replace_personal(string str, mixed *obs [, int caps]); |
| 3 | |
| 4 | DEFINIERT IN: |
| 5 | /secure/simul_efun.c |
| 6 | |
| 7 | ARGUMENTE: |
| 8 | str - zu bearbeitender String |
| 9 | obs - Liste von Objekt1, Objekt2, ..., Objekt9 |
| 10 | (Objekte oder Strings) |
| 11 | caps - 1 fuer Grossschreibung des Ersetzten nach Satzenden (.,?,!,") |
| 12 | 0 sonst |
| 13 | |
| 14 | BESCHREIBUNG: |
| 15 | Ersetzt in Strings |
| 16 | @WERx, @WESSENx, @WEMx, @WENx durch |
| 17 | Objectx->name(<casus>, 1); |
| 18 | @WERUx, @WESSENUx, @WEMUx, @WENUx durch |
| 19 | Objectx->name(<casus>); |
| 20 | @WERQPx, @WESSENQPx, @WEMQPx, @WENQPx durch |
| 21 | Objectx->QueryPronoun(<casus>); |
| 22 | @WERQAx, @WESSENQAx, @WEMQAx, @WENQAx durch |
| 23 | Objectx->QueryArticle(<casus>, 1, 1); |
| 24 | @WERQPPGNx, @WESSENQPPGNx, @WEMQPPGNx, @WENQPPGNx durch |
| 25 | Objectx->QueryPossPronoun(<gender>, <casus>, <number>); |
| 26 | oder den entsprechenden String bei "Objektx". |
| 27 | |
| 28 | BEMERKUNGEN: |
| 29 | x steht fuer die Position des Objekts/Strings in *obs, beginnend bei 1. |
| 30 | |
| 31 | Besonderheiten beim Possessivpronomen (@WERQPPGNx): |
| 32 | G muss durch das Geschlecht (M, F oder N) und N durch den Numerus (S |
| 33 | oder P) ersetzt werden. |
| 34 | Alle Angaben, auch der CASUS, beziehen sich dabei auf das Objekt, welches |
| 35 | besessen wird, nicht auf den Besitzer! Dieser ist bereits durch x |
| 36 | bestimmt. |
| 37 | |
| 38 | RUeCKGABEWERT: |
| 39 | durchersetzter String |
| 40 | |
| 41 | Beispiele: |
| 42 | |
| 43 | replace_personal("@WER1", ({find_player("gloinson")})) |
| 44 | == "Gloinson" |
| 45 | |
| 46 | replace_personal("@WEMQP1", ({find_player("gloinson")})) |
| 47 | == "ihm" |
| 48 | |
| 49 | // unbestimmter und bestimmter Artikel: |
| 50 | replace_personal("@WER1 zueckt @WENU2 und verhaut @WEN3.", |
| 51 | ({find_player("gloinson"), |
| 52 | find_object("/obj/mpa"), |
| 53 | find_object("/obj/wanderer")})) |
| 54 | == "Gloinson zueckt eine Zeitung und verhaut den Wanderer." |
| 55 | |
| 56 | // Beim Possessivpronomen beziehen sich WEN, F und P (Akkusativ, |
| 57 | // Femininum, Plural) auf die Taschen, nicht auf Kessa: |
| 58 | replace_personal("@WER1 steckt @WESSEN2 Turnschuhe in @WENQPPFP1 " |
| 59 | "Taschen.", |
| 60 | ({find_player("kessa"), |
| 61 | find_player("gloinson")})) |
| 62 | == "Kessa steckt Gloinsons Turnschuhe in ihre Taschen." |
| 63 | |
| 64 | // Ein Beispiel mit laengerem *obs: |
| 65 | replace_personal("@WER1 zieht @WENQPPMP1 neuen Turnschuhe an. @WER2 ist " |
| 66 | "so beeindruckt, dass @WERQP2 @WEMQP1 @WENU3 auf die " |
| 67 | "@WEN4 haut und die Schuhe in @WEMQPPFS2 Tasche " |
| 68 | "verschwinden laesst. @WERU5 schaut zu und kichert " |
| 69 | "irre. Wenn das @WER6 gesehen haette!", |
| 70 | ({find_player("gloinson"), |
| 71 | find_player("kessa"), |
| 72 | find_object("/obj/mpa"), |
| 73 | "Birne", |
| 74 | find_object("/obj/wanderer"), |
| 75 | find_netdead("jof")}),1) |
| 76 | == "Gloinson zieht seine neuen Turnschuhe an. Kessa ist so beeindruckt, " |
| 77 | "dass sie ihm eine Zeitung auf die Birne haut und die Schuhe in ihrer " |
| 78 | "Tasche verschwinden laesst. Ein Wanderer schaut zu und kichert " |
| 79 | "irre. Wenn das Jof gesehen haette!" |
| 80 | |
| 81 | SIEHE AUCH: |
| 82 | AddCmd(L) |
| 83 | |
| 84 | 05. September 2015, Arathorn |