blob: e799ddb99312bc73db8543587fa97e5eb59f872c [file] [log] [blame]
Zesstra18626972017-01-31 10:38:27 +01001replace_personal()
2==================
3
4FUNKTION
5--------
6::
7
8 varargs string replace_personal(string str, mixed *obs [, int caps]);
9
10DEFINIERT IN
11------------
12::
13
14 /secure/simul_efun.c
15
16ARGUMENTE
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
26BESCHREIBUNG
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
43BEMERKUNGEN
44-----------
45::
46
47 x steht fuer die Position des Objekts/Strings in *obs, beginnend bei 1.
48
Zesstra18626972017-01-31 10:38:27 +010049 Besonderheiten beim Possessivpronomen (@WERQPPGNx):
50 G muss durch das Geschlecht (M, F oder N) und N durch den Numerus (S
51 oder P) ersetzt werden.
52 Alle Angaben, auch der CASUS, beziehen sich dabei auf das Objekt, welches
53 besessen wird, nicht auf den Besitzer! Dieser ist bereits durch x
54 bestimmt.
55
56
57
58RUeCKGABEWERT
59-------------
60::
61
62 durchersetzter String
63
64
65
66Beispiele
Arathorn41004de2020-10-18 22:03:28 +020067---------
Zesstra18626972017-01-31 10:38:27 +010068::
69
Arathorn41004de2020-10-18 22:03:28 +020070 replace_personal("@WER1", ({find_player("gloinson")})) ==> "Gloinson"
Zesstra18626972017-01-31 10:38:27 +010071
Arathorn41004de2020-10-18 22:03:28 +020072 replace_personal("@WEMQP1", ({find_player("gloinson")})) ==> "ihm"
Zesstra18626972017-01-31 10:38:27 +010073
74 // unbestimmter und bestimmter Artikel:
75 replace_personal("@WER1 zueckt @WENU2 und verhaut @WEN3.",
76 ({find_player("gloinson"),
77 find_object("/obj/mpa"),
78 find_object("/obj/wanderer")}))
Arathorn41004de2020-10-18 22:03:28 +020079 ==> "Gloinson zueckt eine Zeitung und verhaut den Wanderer."
Zesstra18626972017-01-31 10:38:27 +010080
81 // Beim Possessivpronomen beziehen sich WEN, F und P (Akkusativ,
82 // Femininum, Plural) auf die Taschen, nicht auf Kessa:
83 replace_personal("@WER1 steckt @WESSEN2 Turnschuhe in @WENQPPFP1 "
84 "Taschen.",
85 ({find_player("kessa"),
86 find_player("gloinson")}))
Arathorn41004de2020-10-18 22:03:28 +020087 ==> "Kessa steckt Gloinsons Turnschuhe in ihre Taschen."
Zesstra18626972017-01-31 10:38:27 +010088
89 // Ein Beispiel mit laengerem *obs:
90 replace_personal("@WER1 zieht @WENQPPMP1 neuen Turnschuhe an. @WER2 ist "
91 "so beeindruckt, dass @WERQP2 @WEMQP1 @WENU3 auf die "
92 "@WEN4 haut und die Schuhe in @WEMQPPFS2 Tasche "
93 "verschwinden laesst. @WERU5 schaut zu und kichert "
94 "irre. Wenn das @WER6 gesehen haette!",
95 ({find_player("gloinson"),
96 find_player("kessa"),
97 find_object("/obj/mpa"),
98 "Birne",
99 find_object("/obj/wanderer"),
100 find_netdead("jof")}),1)
Arathorn41004de2020-10-18 22:03:28 +0200101 ==> "Gloinson zieht seine neuen Turnschuhe an. Kessa ist so "
102 "beeindruckt, dass sie ihm eine Zeitung auf die Birne haut und die "
103 "Schuhe in ihrer Tasche verschwinden laesst. Ein Wanderer schaut "
104 "zu und kichert irre. Wenn das Jof gesehen haette!"
Zesstra18626972017-01-31 10:38:27 +0100105
106SIEHE AUCH
107----------
108::
109
110 AddCmd(L)
111
11205. September 2015, Arathorn
113