LlList2ListStrided
From Second Life Wiki
| LSL Portal | | | Functions | | | Events | | | Types | | | Operators | | | Constants | | | Flow Control | | | Script Library | | | Tutorials |
Function: list llList2ListStrided( list src, integer start, integer end, integer stride );
| 198 | Function ID |
| 0.0 | Delay |
| 10.0 | Energy |
Returns a list of all the entries whose index is a multiple of stride in the range start to end.
| • list | src | |||
| • integer | start | – | start index | |
| • integer | end | – | end index | |
| • integer | stride |
start, end & stride support negative indexes.
Specification
| Index | Positive | Negative |
|---|---|---|
| First | 0 | -length |
| Last | length - 1 | -1 |
Mentally first translate any negative indexes into positive indexes
|
Positive indexes past the length (after the last index), or negative indexes past the beginning (before the first index) are valid. The effects are predictable, the entries are treated as if they were there but were removed just before output.
See negative indexes for more information.
Examples
list menu = ["1", "one", "2", "two", "3", "three"]; default { state_entry() { llListen(10, "", llGetOwner(), ""); } touch_start(integer detected) { list buttons = llList2ListStrided(menu, 0, -1, 2); llDialog(llDetectedKey(0), "choose a number", buttons, 10); } listen(integer channel, string obj, key id, string message) { integer index = llListFindList(menu, [message]); if (index != -1) { llOwnerSay("you chose " + llList2String(menu, index + 1) + " (" + message + ")"); } } }

