LinksetIndexing
Revision as of 22:35, 24 January 2015 by ObviousAltIsObvious Resident (talk | contribs) (<lsl> tag to <source>)
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
By Exact Name
One Name - Multiple Links | ||||||||
---|---|---|---|---|---|---|---|---|
Searches for multiple prims that share a common specific name and returns a list of linkset numbers. Otherwise an empty list if none found. list LinkedList(string Needle) {
list Needles;
integer Hay = 1;
integer Stacks = llGetNumberOfPrims();
for(; Hay <= Stacks; ++Hay ) if(llGetLinkName(Hay) == Needle) Needles += Hay;
return Needles;
}
Released into public domain. By Nexii Malthus.
|
One Name - One Link | ||||||||
---|---|---|---|---|---|---|---|---|
Searches for a single prim that has a specific name. Returns 0 if not found. integer Linked(string Needle) {
integer Prims = llGetNumberOfPrims()+1;
while(--Prims) if(llGetLinkName(Prims) == Needle) return Prims;
return FALSE;
}
Released into public domain. By Nexii Malthus.
|
Multiple Names - One Link each | ||||||||
---|---|---|---|---|---|---|---|---|
Searches and replaces all strings in Needles list with integer linkset numbers, where the strings exactly match a prim name. list ListLinked(list Needles) {
integer Prims = llGetNumberOfPrims()+1;
while(--Prims) {
integer Ptr = llListFindList(Needles,[llGetLinkName(Prims)]);
if(~Ptr) Needles = llListReplaceList(Needles,[Prims],Ptr,Ptr);
}
return Needles;
}
Released into public domain. By Nexii Malthus.
|