C10 - initial
select (Sifts) | |
---|---|
Type | Corrade progressive sift |
Sift | select |
Parameters | a string representing an element to match |
Description | The select will return the items following the provided element for all elements in the list. |
Last Changes | None |
The select
will return the items following the provided element for all elements in the list.
Position | Type | Description | Example |
---|---|---|---|
0 | a string | an element to match | Price |
The following sift when added to a command will return the element following the Price
element:
"sift", wasListToCSV([ "select", "Price" ]),
Given the input:
data=Price,10,Item,Book,Price,50,Item,Chair,Price,200,Item,PC
the expected output will be:
data=10,50,200
Suppose the getavatarappearancedata
command is issued and the following result is returned to the callback:
FaceTextures,index,0,RGBA,"<1, 1, 1, 1>",RepeatU,1,RepeatV,1,OffsetU,0,OffsetV,0,Rotation,0,Glow,0,Bump,None,Shiny,None,Fullbright,False,MediaFlags,False,TexMapType,Default,TextureID,00000000-0000-0000-0000-000000000000,MaterialID,00000000-0000-0000-0000-000000000000,1,RGBA,"<1, 1, 1, 1>",RepeatU,1,RepeatV,1,OffsetU,0,OffsetV,0,Rotation,0,Glow,0,Bump,None,Shiny,None,Fullbright,False,MediaFlags,False,TexMapType,Default,TextureID,00000000-0000-0000-0000-000000000000,MaterialID,00000000-0000-0000-0000-000000000000,2,RGBA,"<1, 1, 1, 1>",RepeatU,1,RepeatV,1,OffsetU,0,OffsetV,0,Rotation,0,Glow,0,Bump,None,Shiny,None,Fullbright,False,MediaFlags,False,TexMapType,Default,TextureID,00000000-0000-0000-0000-000000000000,MaterialID,00000000-0000-0000-0000-000000000000,3,RGBA,"<1, 1, 1, 1>" ...
and assume that the TextureID
is the one that we are interested in.
In that case, a select
sift would be suitable and the following command:
llInstantMessage(CORRADE, wasKeyValueEncode( [ // gets the visual parameters of // the avatar named Fuzzy Resident "command", "getavatarappearancedata", "group", wasURLEscape(GROUP), "password", wasURLEscape(PASSWORD), // or "agent", "69ce412b-dffc-436d-86ff-d788bfa66d9d" "firstname", "Fuzzy", "lastname", "Resident", "data", "FaceTextures", "sift", wasListToCSV([ "select", "TextureID" ]), "callback", wasURLEscape(URL) ] ) );
will extract just the texture IDs from the original output:
command=getavatarappearancedata&time=2020-04-22T01:51:01.180845Z&data=00000000-0000-0000-0000-000000000000,00000000-0000-0000-0000-000000000000,00000000-0000-0000-0000-000000000000,00000000-0000-0000-0000-000000000000,5317ee6e-6726-48be-ba6d-c4885c2da686,1f5b25ec-5999-4913-bb57-e1594b92211a,00000000-0000-0000-0000-000000000000,00000000-0000-0000-0000-000000000000,00000000-0000-0000-0000-000000000000,62c9a6fe-7d89-49ca-9931-5a4955abf6a3,00000000-0000-0000-0000-000000000000,00000000-0000-0000-0000-000000000000,00000000-0000-0000-0000-000000000000,00000000-0000-0000-0000-000000000000,00000000-0000-0000-0000-000000000000&success=True