blob: 542632e36154508d9bc52048e1ffe8b96f4402a2 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001TestIgnoreSimple()
2
3FUNKTION:
4 public int TestIgnoreSimple(string *arg)
5
6DEFINIERT IN:
7 /std/player/comm.c
8
9ARGUMENTE:
10 arg
11 Liste von Strings, die getestet werden sollen
12
13BESCHREIBUNG:
14 TestIgnoreSimple() prueft, ob der Spieler min. einen der uebergebenen
15 Eintraege auf seiner Ignoriereliste hat.
16 Falls man mehrere Eintraege pruefen muss/moechte, ist es schneller, alle
17 Eintraege in einem zu uebergeben anstatt fuer jeden einzeln
18 TestIgnoreSimple() aufzurufen.
19
20RUeCKGABEWERT:
21 1, falls es mindestens eine Uebereinstimmungen von arg und der
22 Ignoriere-Liste des Spielers gibt.
23 0, sonst.
24
25BEISPIEL:
26 if (!this_player()->TestIgnoreSimple(({"andy"})))
27 tell_object(this_player(), "Andy teilt Dir mit: Hallo!\n");
28
29 // Beispiel fuer eine Ignore-Check fuer Aktion (kratzen) fuer einen
30 // Spieler (this_player()) an einem anderen Spieler (target)
31 if (!target->TestIgnoreSimple(getuid(this_player()),
32 getuid(this_player())+".kratz",
33 getuid(this_player())+".kratze",
34 ".kratz", ".kratze"}))) {
35 tell_object(target, this_player()->Name()+" kratzt dich.\n");
36 tell_object(this_player(), "Du kratzt "+target->Name()+".\n");
37 } else
38 tell_object(this_player(), target->Name()+" ignoriert dich.\n");
39
40 // allumfassender Ignorier-Check in einer Gilde (Klerus) auf
41 // eine Aktion (kurieren) fuer einen bestimmten Spieler (den caster)
42 // an einem zu kurierenden Spieler (target)
43 if (target->TestIgnoreSimple(({getuid(caster),
44 getuid(caster)+".kuriere",
45 getuid(caster)+".kuriere.klerus",
46 ".kuriere",
47 ".kuriere.klerus"})))
48 tell_object(caster, break_string(
49 target->Name()+" ignoriert deinen Versuch.", 78));
50
51SIEHE AUCH:
52 P_IGNORE, AddIgnore, RemoveIgnore, TestIgnore, /std/player/comm.c
53
5426.04.2014 Zesstra
55