Difference between revisions of "Manual:DIL Manual/findrndunit()"
Jump to navigation
Jump to search
(XML import) |
(XML import) |
||
| Line 1: | Line 1: | ||
| + | <span id="bffindru"></span> | ||
| + | unitptr findrndunit( u : unitptr, sv : integer, uf : integer) | ||
| + | Returns: A pointer to a random unit, or null | ||
| + | u : The unit pointer which the search is relative to. | ||
| + | sv : The search-location, a value (not bit vector) of FIND_UNIT_XXX | ||
| + | uf : Bit vector. The unit flags which can match of UNIT_ST_XXX | ||
| + | Example: u := findrndunit(self, FIND_UNIT_ZONE, UNIT_ST_PC|UNIT_ST_NPC); | ||
| + | This routine returns a random unit. Notice how the 'uf' lets you | ||
| + | specify exactly what unit types to look for. The 'sv' is not a | ||
| + | bit vector, although FIND_UNIT_XXX is usually used as such. If | ||
| + | you need to search multiple environments, then call the routine | ||
| + | once for each. | ||
| + | |||
| + | Using FIND_UNIT_PAY or FIND_UNIT_NOPAY in this function will | ||
| + | pick a random player which in addition to being in the search | ||
| + | environment also is registered as valid payer (or not). Asking | ||
| + | for a room would yield a random room registered to be accessible | ||
| + | for paying players only (or not). Asking for objects would | ||
| + | return no unit (null). | ||
<span id="bffindru"></span> | <span id="bffindru"></span> | ||
unitptr findrndunit( u : unitptr, sv : integer, uf : integer) | unitptr findrndunit( u : unitptr, sv : integer, uf : integer) | ||
Latest revision as of 22:39, 4 December 2025
unitptr findrndunit( u : unitptr, sv : integer, uf : integer) Returns: A pointer to a random unit, or null u : The unit pointer which the search is relative to. sv : The search-location, a value (not bit vector) of FIND_UNIT_XXX uf : Bit vector. The unit flags which can match of UNIT_ST_XXX
Example: u := findrndunit(self, FIND_UNIT_ZONE, UNIT_ST_PC|UNIT_ST_NPC);
This routine returns a random unit. Notice how the 'uf' lets you specify exactly what unit types to look for. The 'sv' is not a bit vector, although FIND_UNIT_XXX is usually used as such. If you need to search multiple environments, then call the routine once for each.
Using FIND_UNIT_PAY or FIND_UNIT_NOPAY in this function will pick a random player which in addition to being in the search environment also is registered as valid payer (or not). Asking for a room would yield a random room registered to be accessible for paying players only (or not). Asking for objects would return no unit (null).
unitptr findrndunit( u : unitptr, sv : integer, uf : integer) Returns: A pointer to a random unit, or null u : The unit pointer which the search is relative to. sv : The search-location, a value (not bit vector) of FIND_UNIT_XXX uf : Bit vector. The unit flags which can match of UNIT_ST_XXX
Example: u := findrndunit(self, FIND_UNIT_ZONE, UNIT_ST_PC|UNIT_ST_NPC);
This routine returns a random unit. Notice how the 'uf' lets you specify exactly what unit types to look for. The 'sv' is not a bit vector, although FIND_UNIT_XXX is usually used as such. If you need to search multiple environments, then call the routine once for each.
Using FIND_UNIT_PAY or FIND_UNIT_NOPAY in this function will pick a random player which in addition to being in the search environment also is registered as valid payer (or not). Asking for a room would yield a random room registered to be accessible for paying players only (or not). Asking for objects would return no unit (null).