blob: 825dff8a585533848bb444feaa9e95202b7ae12a [file] [log] [blame]
walk_mapping
************
BEISPIELE
=========
In einem Mapping (Keys: Spielerobjekte) soll auf alle Werte etwas
drauf addiert werden:
// Liste mit Spielern durchgehen ...
mapping x=([ [/human:liafar]: 20,
[/dwarf:mesirii]: 50,
[/elf:zarniya]: 40,
[/feline:turbo]: 30]);
// ... und Werte aendern:
void add_val(object key, int val, int add) {
if(key->InFight())
val+=add;
else
val-=add;
}
// verschiedene Aufrufarten, identisches Resultat:
walk_mapping(x, "add_val", 0, 10);
walk_mapping(x, "add_val", this_object(), 10
walk_mapping(x, "add_val", "/players/jof/addierobjektmitmethode", 10);
walk_mapping(x, #'add_val, 10);