User:Toy Wylie/List Creators And Permissions Script
Jump to navigation
Jump to search
<lsl>// set the type of inventory you want to list integer type=INVENTORY_ALL; // INVENTORY_ANIMATION
integer num; integer pos;
string currentItem; string currentPerms;
key request;
next() {
if(pos==num) { llOwnerSay("Done!"); llRemoveInventory(llGetScriptName()); return; }
currentItem=llGetInventoryName(type,pos);
currentPerms=""; integer perms=llGetInventoryPermMask(currentItem,MASK_NEXT); if(~perms & PERM_COPY) currentPerms+="no copy "; if(~perms & PERM_MODIFY) currentPerms+="no modify "; if(~perms & PERM_TRANSFER) currentPerms+="no transfer "; currentPerms=llStringTrim(currentPerms,STRING_TRIM); if(currentPerms!="") currentPerms=" ("+currentPerms+")";
key k=llGetInventoryCreator(currentItem); request=llRequestAgentData(k,DATA_NAME);
}
default {
on_rez(integer dummy) { llResetScript(); }
state_entry() { num=llGetInventoryNumber(type); pos=0;
next(); }
dataserver(key k,string data) { if(k!=request) return;
llOwnerSay("Inventory item: "+currentItem+currentPerms+" ("+data+")"); pos++; next(); }
}
</lsl>