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