blob: 1cca2ff039abb197d43ac1d962cc29691b6a478a [file] [log] [blame]
Zesstra18626972017-01-31 10:38:27 +01001PreventFollow()
2===============
3
4FUNKTION
5--------
6::
7
8 int PreventFollow(object dest)
9
10ARGUMENTE
11---------
12::
13
14 dest: Zielobjekt, in das der Verfolgte bewegt werden soll.
15
16FUNKTION
17--------
18::
19
20 In jedem Verfolger, der mit AddPursuer in die Liste der Verfolger
21 eingetragen wurde, wird vor dem Bewegen in das Zielobjekt die Funktion
22 PreventFollow mit dem Zielobjekt als Argument aufgerufen.
23
24RUECKGABEWERT
25-------------
26::
27
28 0: Verfolger darf in das Zielobjekt folgen
29 1: Verfolger darf in dieses Zielobjekt nicht folgen
30 (Verfolgung bleibt weiterhin aktiv)
31 2: Verfolger darf in dieses Zielobjekt nicht folgen
32 (Verfolgung wird abgebrochen und Verfolger aus der Verfolgerliste
33 ausgetragen)
34
35BEMERKUNG
36---------
37::
38
39 Durch PreventFollow kann der raeumliche Bereich, in dem verfolgt werden
40 darf, eingeschraenkt werden.
41
42BEISPIELE
43---------
44::
45
46 Man moechte, dass ein NPC auf einer Insel nicht mit dem Spieler in das
47 Boot steigt, um mit dem Spieler zusammen von der Insel herunterzukommen.
48
49 #define PATH(x) ("/d/.../.../mein/pfad/+(x)")
50
51 ...
52
53 int PreventFollow(object boot)
54 {
55 if ( object_name(boot)[0..strlen(PATH("boot"))-1] == PATH("boot") )
56 return 1;
57 }
58
59 Diese Funktions-Definition ist sehr flexibel, denn sie erlaubt sowohl
60 spaetere Pfadanpassung als auch mehrere Boote.
61 Da ueber die Funktion strlen() nur bis zum letzten Buchstaben des
62 angegebenen Strings getestet wird, wird also gleichzeitig auch auf
63 boot[1], boot[2] usw. getestet.
64
65SIEHE AUCH
66----------
67::
68
69 "AddPursuer", "RemovePursuer"
70
71Last modified: Tue Jun 10 13:59:30 2003 by Gabylon
72