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