blob: a8946e5545211e91ee02eb26c94e0b6e698ccd22 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001
Zesstra953f9972017-02-18 15:37:36 +01002replace_personal()
3******************
MG Mud User88f12472016-06-24 23:31:02 +02004
MG Mud User88f12472016-06-24 23:31:02 +02005
Zesstra953f9972017-02-18 15:37:36 +01006FUNKTION
7========
MG Mud User88f12472016-06-24 23:31:02 +02008
Zesstra953f9972017-02-18 15:37:36 +01009 varargs string replace_personal(string str, mixed *obs [, int caps]);
MG Mud User88f12472016-06-24 23:31:02 +020010
MG Mud User88f12472016-06-24 23:31:02 +020011
Zesstra953f9972017-02-18 15:37:36 +010012DEFINIERT IN
13============
MG Mud User88f12472016-06-24 23:31:02 +020014
Zesstra953f9972017-02-18 15:37:36 +010015 /secure/simul_efun.c
MG Mud User88f12472016-06-24 23:31:02 +020016
Zesstra953f9972017-02-18 15:37:36 +010017
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
Zesstra953f9972017-02-18 15:37:36 +010050 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
58RUeCKGABEWERT
59=============
60
61 durchersetzter String
62
Arathorn41004de2020-10-18 22:03:28 +020063
Zesstra953f9972017-02-18 15:37:36 +010064Beispiele
Arathorn41004de2020-10-18 22:03:28 +020065=========
Zesstra953f9972017-02-18 15:37:36 +010066
Arathorn41004de2020-10-18 22:03:28 +020067 replace_personal("@WER1", ({find_player("gloinson")})) ==> "Gloinson"
Zesstra953f9972017-02-18 15:37:36 +010068
Arathorn41004de2020-10-18 22:03:28 +020069 replace_personal("@WEMQP1", ({find_player("gloinson")})) ==> "ihm"
Zesstra953f9972017-02-18 15:37:36 +010070
Arathorn41004de2020-10-18 22:03:28 +020071 // 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."
Zesstra953f9972017-02-18 15:37:36 +010077
Arathorn41004de2020-10-18 22:03:28 +020078 // Beim Possessivpronomen beziehen sich WEN, F und P (Akkusativ,
79 // Femininum, Plural) auf die Taschen, nicht auf Kessa:
Zesstra953f9972017-02-18 15:37:36 +010080 replace_personal("@WER1 steckt @WESSEN2 Turnschuhe in @WENQPPFP1 "
Arathorn41004de2020-10-18 22:03:28 +020081 "Taschen.",
82 ({find_player("kessa"),
83 find_player("gloinson")}))
84 ==> "Kessa steckt Gloinsons Turnschuhe in ihre Taschen."
Zesstra953f9972017-02-18 15:37:36 +010085
Arathorn41004de2020-10-18 22:03:28 +020086 // 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!"
Zesstra953f9972017-02-18 15:37:36 +0100102
103
104SIEHE AUCH
105==========
106
107 AddCmd(L)
108
1095. September 2015, Arathorn