blob: 3804be303d88b86b7a30a53eb16641459526a84e [file] [log] [blame]
Zesstra953f9972017-02-18 15:37:36 +01001
2replace_personal()
3******************
4
5
6FUNKTION
7========
8
9 varargs string replace_personal(string str, mixed *obs [, int caps]);
10
11
12DEFINIERT IN
13============
14
15 /secure/simul_efun.c
16
17
18ARGUMENTE
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
28BESCHREIBUNG
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
45BEMERKUNGEN
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
60RUeCKGABEWERT
61=============
62
63 durchersetzter String
64
65Beispiele
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
108SIEHE AUCH
109==========
110
111 AddCmd(L)
112
1135. September 2015, Arathorn