blob: 7177b85e1d55dbfe32745365c7c3ea238c1d5cd2 [file] [log] [blame]
Zesstra953f9972017-02-18 15:37:36 +01001replace_personal()
2******************
MG Mud User88f12472016-06-24 23:31:02 +02003
MG Mud User88f12472016-06-24 23:31:02 +02004
Zesstra953f9972017-02-18 15:37:36 +01005FUNKTION
6========
MG Mud User88f12472016-06-24 23:31:02 +02007
Zesstra953f9972017-02-18 15:37:36 +01008 varargs string replace_personal(string str, mixed *obs [, int caps]);
MG Mud User88f12472016-06-24 23:31:02 +02009
MG Mud User88f12472016-06-24 23:31:02 +020010
Zesstra953f9972017-02-18 15:37:36 +010011DEFINIERT IN
12============
MG Mud User88f12472016-06-24 23:31:02 +020013
Zesstra953f9972017-02-18 15:37:36 +010014 /secure/simul_efun.c
MG Mud User88f12472016-06-24 23:31:02 +020015
Zesstra953f9972017-02-18 15:37:36 +010016
17ARGUMENTE
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
26
27BESCHREIBUNG
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
43
44BEMERKUNGEN
45===========
46
47 x steht fuer die Position des Objekts/Strings in *obs, beginnend bei 1.
48
Zesstra953f9972017-02-18 15:37:36 +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
57RUeCKGABEWERT
58=============
59
60 durchersetzter String
61
Arathorn41004de2020-10-18 22:03:28 +020062
Zesstra953f9972017-02-18 15:37:36 +010063Beispiele
Arathorn41004de2020-10-18 22:03:28 +020064=========
Zesstra953f9972017-02-18 15:37:36 +010065
Arathorn41004de2020-10-18 22:03:28 +020066 replace_personal("@WER1", ({find_player("gloinson")})) ==> "Gloinson"
Zesstra953f9972017-02-18 15:37:36 +010067
Arathorn41004de2020-10-18 22:03:28 +020068 replace_personal("@WEMQP1", ({find_player("gloinson")})) ==> "ihm"
Zesstra953f9972017-02-18 15:37:36 +010069
Arathorn41004de2020-10-18 22:03:28 +020070 // unbestimmter und bestimmter Artikel:
71 replace_personal("@WER1 zueckt @WENU2 und verhaut @WEN3.",
72 ({find_player("gloinson"),
73 find_object("/obj/mpa"),
74 find_object("/obj/wanderer")}))
75 ==> "Gloinson zueckt eine Zeitung und verhaut den Wanderer."
Zesstra953f9972017-02-18 15:37:36 +010076
Arathorn41004de2020-10-18 22:03:28 +020077 // Beim Possessivpronomen beziehen sich WEN, F und P (Akkusativ,
78 // Femininum, Plural) auf die Taschen, nicht auf Kessa:
Zesstra953f9972017-02-18 15:37:36 +010079 replace_personal("@WER1 steckt @WESSEN2 Turnschuhe in @WENQPPFP1 "
Arathorn41004de2020-10-18 22:03:28 +020080 "Taschen.",
81 ({find_player("kessa"),
82 find_player("gloinson")}))
83 ==> "Kessa steckt Gloinsons Turnschuhe in ihre Taschen."
Zesstra953f9972017-02-18 15:37:36 +010084
Arathorn41004de2020-10-18 22:03:28 +020085 // Ein Beispiel mit laengerem *obs:
86 replace_personal("@WER1 zieht @WENQPPMP1 neuen Turnschuhe an. @WER2 ist "
87 "so beeindruckt, dass @WERQP2 @WEMQP1 @WENU3 auf die "
88 "@WEN4 haut und die Schuhe in @WEMQPPFS2 Tasche "
89 "verschwinden laesst. @WERU5 schaut zu und kichert "
90 "irre. Wenn das @WER6 gesehen haette!",
91 ({find_player("gloinson"),
92 find_player("kessa"),
93 find_object("/obj/mpa"),
94 "Birne",
95 find_object("/obj/wanderer"),
96 find_netdead("jof")}),1)
97 ==> "Gloinson zieht seine neuen Turnschuhe an. Kessa ist so "
98 "beeindruckt, dass sie ihm eine Zeitung auf die Birne haut und die "
99 "Schuhe in ihrer Tasche verschwinden laesst. Ein Wanderer schaut "
100 "zu und kichert irre. Wenn das Jof gesehen haette!"
Zesstra953f9972017-02-18 15:37:36 +0100101
102
103SIEHE AUCH
104==========
105
106 AddCmd(L)
107
1085. September 2015, Arathorn