blob: ff7c07fe2e94ca382564c1de398b7f7ca204742e [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
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
60RUeCKGABEWERT
61-------------
62::
63
64 durchersetzter String
65
66
67
68Beispiele
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
116SIEHE AUCH
117----------
118::
119
120 AddCmd(L)
121
12205. September 2015, Arathorn
123