MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 1 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 2 | replace_personal() |
| 3 | ****************** |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 4 | |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 5 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 6 | FUNKTION |
| 7 | ======== |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 8 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 9 | varargs string replace_personal(string str, mixed *obs [, int caps]); |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 10 | |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 11 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 12 | DEFINIERT IN |
| 13 | ============ |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 14 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 15 | /secure/simul_efun.c |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 16 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 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 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 50 | Besonderheiten beim Possessivpronomen (@WERQPPGNx): |
| 51 | G muss durch das Geschlecht (M, F oder N) und N durch den Numerus (S |
| 52 | oder P) ersetzt werden. |
| 53 | Alle Angaben, auch der CASUS, beziehen sich dabei auf das Objekt, welches |
| 54 | besessen wird, nicht auf den Besitzer! Dieser ist bereits durch x |
| 55 | bestimmt. |
| 56 | |
| 57 | |
| 58 | RUeCKGABEWERT |
| 59 | ============= |
| 60 | |
| 61 | durchersetzter String |
| 62 | |
Arathorn | 41004de | 2020-10-18 22:03:28 +0200 | [diff] [blame] | 63 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 64 | Beispiele |
Arathorn | 41004de | 2020-10-18 22:03:28 +0200 | [diff] [blame] | 65 | ========= |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 66 | |
Arathorn | 41004de | 2020-10-18 22:03:28 +0200 | [diff] [blame] | 67 | replace_personal("@WER1", ({find_player("gloinson")})) ==> "Gloinson" |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 68 | |
Arathorn | 41004de | 2020-10-18 22:03:28 +0200 | [diff] [blame] | 69 | replace_personal("@WEMQP1", ({find_player("gloinson")})) ==> "ihm" |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 70 | |
Arathorn | 41004de | 2020-10-18 22:03:28 +0200 | [diff] [blame] | 71 | // unbestimmter und bestimmter Artikel: |
| 72 | replace_personal("@WER1 zueckt @WENU2 und verhaut @WEN3.", |
| 73 | ({find_player("gloinson"), |
| 74 | find_object("/obj/mpa"), |
| 75 | find_object("/obj/wanderer")})) |
| 76 | ==> "Gloinson zueckt eine Zeitung und verhaut den Wanderer." |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 77 | |
Arathorn | 41004de | 2020-10-18 22:03:28 +0200 | [diff] [blame] | 78 | // Beim Possessivpronomen beziehen sich WEN, F und P (Akkusativ, |
| 79 | // Femininum, Plural) auf die Taschen, nicht auf Kessa: |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 80 | replace_personal("@WER1 steckt @WESSEN2 Turnschuhe in @WENQPPFP1 " |
Arathorn | 41004de | 2020-10-18 22:03:28 +0200 | [diff] [blame] | 81 | "Taschen.", |
| 82 | ({find_player("kessa"), |
| 83 | find_player("gloinson")})) |
| 84 | ==> "Kessa steckt Gloinsons Turnschuhe in ihre Taschen." |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 85 | |
Arathorn | 41004de | 2020-10-18 22:03:28 +0200 | [diff] [blame] | 86 | // Ein Beispiel mit laengerem *obs: |
| 87 | replace_personal("@WER1 zieht @WENQPPMP1 neuen Turnschuhe an. @WER2 ist " |
| 88 | "so beeindruckt, dass @WERQP2 @WEMQP1 @WENU3 auf die " |
| 89 | "@WEN4 haut und die Schuhe in @WEMQPPFS2 Tasche " |
| 90 | "verschwinden laesst. @WERU5 schaut zu und kichert " |
| 91 | "irre. Wenn das @WER6 gesehen haette!", |
| 92 | ({find_player("gloinson"), |
| 93 | find_player("kessa"), |
| 94 | find_object("/obj/mpa"), |
| 95 | "Birne", |
| 96 | find_object("/obj/wanderer"), |
| 97 | find_netdead("jof")}),1) |
| 98 | ==> "Gloinson zieht seine neuen Turnschuhe an. Kessa ist so " |
| 99 | "beeindruckt, dass sie ihm eine Zeitung auf die Birne haut und die " |
| 100 | "Schuhe in ihrer Tasche verschwinden laesst. Ein Wanderer schaut " |
| 101 | "zu und kichert irre. Wenn das Jof gesehen haette!" |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 102 | |
| 103 | |
| 104 | SIEHE AUCH |
| 105 | ========== |
| 106 | |
| 107 | AddCmd(L) |
| 108 | |
| 109 | 5. September 2015, Arathorn |