Zesstra | e959e72 | 2025-07-09 22:11:16 +0200 | [diff] [blame] | 1 | AddToProp() |
| 2 | *********** |
| 3 | |
| 4 | |
| 5 | FUNKTION |
| 6 | ======== |
| 7 | |
| 8 | public varargs int AddToProp(string propname, |
| 9 | <int|float|string|mixed*|mapping|bytes> summand) |
| 10 | |
| 11 | |
| 12 | DEFINIERT IN |
| 13 | ============ |
| 14 | |
| 15 | /std/thing/properties.c /sys/thing/properties.h (Prototyp) |
| 16 | |
| 17 | |
| 18 | ARGUMENTE |
| 19 | ========= |
| 20 | |
| 21 | * propname: Die Property, die veraendert wird |
| 22 | |
| 23 | * summand: Was auf den aktuellen Wert "aufaddiert" werden soll |
| 24 | |
| 25 | |
| 26 | BESCHREIBUNG |
| 27 | ============ |
| 28 | |
| 29 | Die Funktion ruft den aktuellen Wert der Property mittels |
| 30 | QueryProp() ab, addiert <summand> drauf und setzt den neuen Wert |
| 31 | mit SetProp() wieder. Damit ist sie einfach eine Abkuerzung fuer |
| 32 | SetProp(pname, QueryProp(pname)+ summand). |
| 33 | |
| 34 | Erlaubte Typen fuer <summand> sind nur solche, mit denen += etwas |
| 35 | anfangen kann und welche zum aktuellen Wert der Property passen. |
| 36 | Alles andere loest ggf. einen (Laufzeit-)Fehler auf. |
| 37 | |
| 38 | |
| 39 | RUeCKGABEWERT |
| 40 | ============= |
| 41 | |
| 42 | Der Wert der Property nach der Aenderung. |
| 43 | |
| 44 | |
| 45 | BEISPIELE |
| 46 | ========= |
| 47 | |
| 48 | // einen Int aufaddieren AddToProp(P_WC, 42); // ein Element an ein |
| 49 | Array in der Property anhaengen AddToProp(P_WAITFOR, |
| 50 | ({"zesstra"})); // Ein Mappingkey in ein Mapping in einer Property |
| 51 | anhaengen (sollte der Key bereits existieren, wird dessen Wert |
| 52 | damit ueberschrieben) AddToProp(P_M_HEALTH_MOD, ([P_HP:5])) |
| 53 | |
| 54 | |
| 55 | SIEHE AUCH |
| 56 | ========== |
| 57 | |
| 58 | QueryProp(), SetProp() Konzept: properties, /std/thing/properties.c |
| 59 | |
| 60 | 19.06.2025, Zesstra |