Zesstra | e959e72 | 2025-07-09 22:11:16 +0200 | [diff] [blame] | 1 | SubFromProp() |
| 2 | ************* |
| 3 | |
| 4 | |
| 5 | FUNKTION |
| 6 | ======== |
| 7 | |
| 8 | public varargs int SubFromProp(string propname, |
| 9 | <int|float|string|mixed*|mapping|bytes> subtrahend) |
| 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 | * subtrahend: Was auf den aktuellen Wert "substrahiert" werden soll |
| 24 | |
| 25 | |
| 26 | BESCHREIBUNG |
| 27 | ============ |
| 28 | |
| 29 | Die Funktion ruft den aktuellen Wert der Property mittels |
| 30 | QueryProp() ab, "subtrahiert" <subtrahend> davon und setzt den |
| 31 | neuen Wert mit SetProp() wieder. Damit ist sie einfach eine |
| 32 | Abkuerzung fuer SetProp(pname, QueryProp(pname) - subtrahend). |
| 33 | |
| 34 | Erlaubte Typen fuer <subtrahend> sind nur solche, mit denen +- |
| 35 | etwas anfangen kann und welche zum aktuellen Wert der Property |
| 36 | passen. 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 subtrahieren SubFromProp(P_WC, 42); // alle |
| 49 | entsprechenden Elemente aus einem Array in der Property loeschen // |
| 50 | Achtung: erzeugt ein neues Array! SubFromProp(P_WAITFOR, |
| 51 | ({"zesstra"})); // Ein Mappingkey aus einem Mapping in einer |
| 52 | Property loeschen SubFromProp(P_M_HEALTH_MOD, ([P_HP])) |
| 53 | |
| 54 | |
| 55 | SIEHE AUCH |
| 56 | ========== |
| 57 | |
| 58 | QueryProp(), *AddProp* Konzept: properties, /std/thing/properties.c |
| 59 | |
| 60 | 19.06.2025, Zesstra |