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