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