Zesstra | faebc15 | 2021-07-06 22:21:47 +0200 | [diff] [blame^] | 1 | SubFromProp() |
| 2 | ========= |
| 3 | |
| 4 | FUNKTION |
| 5 | -------- |
| 6 | |
| 7 | public varargs int SubFromProp(string propname, <int|float|string|mixed*|mapping|bytes> subtrahend) |
| 8 | |
| 9 | DEFINIERT IN |
| 10 | ------------ |
| 11 | |
| 12 | /std/thing/properties.c |
| 13 | /sys/thing/properties.h (Prototyp) |
| 14 | |
| 15 | ARGUMENTE |
| 16 | --------- |
| 17 | |
| 18 | - propname: Die Property, die veraendert wird |
| 19 | - subtrahend: Was auf den aktuellen Wert "substrahiert" werden soll |
| 20 | |
| 21 | BESCHREIBUNG |
| 22 | ------------ |
| 23 | |
| 24 | Die Funktion ruft den aktuellen Wert der Property mittels QueryProp() ab, "subtrahiert" <subtrahend> davon und setzt den neuen Wert mit SetProp() wieder. Damit ist sie einfach eine Abkuerzung fuer SetProp(pname, QueryProp(pname) - subtrahend). |
| 25 | |
| 26 | Erlaubte Typen fuer <subtrahend> sind nur solche, mit denen +- etwas anfangen kann und welche zum aktuellen Wert der Property passen. Alles andere loest ggf. einen (Laufzeit-)Fehler auf. |
| 27 | |
| 28 | RUeCKGABEWERT |
| 29 | ------------- |
| 30 | |
| 31 | Der Wert der Property nach der Aenderung. |
| 32 | |
| 33 | BEISPIELE |
| 34 | --------- |
| 35 | |
| 36 | // einen Int subtrahieren |
| 37 | SubFromProp(P_WC, 42); |
| 38 | // alle entsprechenden Elemente aus einem Array in der Property loeschen |
| 39 | // Achtung: erzeugt ein neues Array! |
| 40 | SubFromProp(P_WAITFOR, ({"zesstra"})); |
| 41 | // Ein Mappingkey aus einem Mapping in einer Property loeschen |
| 42 | SubFromProp(P_M_HEALTH_MOD, ([P_HP])) |
| 43 | |
| 44 | SIEHE AUCH |
| 45 | ---------- |
| 46 | |
| 47 | :doc:`QueryProp`, :doc:`AddProp` |
| 48 | Konzept: properties, /std/thing/properties.c |
| 49 | |
| 50 | 19.06.2025, Zesstra |