Jump to content

Subfolders in a prim?


bluelacroix
 Share

You are about to reply to a thread that has been inactive for 3163 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

Hihi everyone!

 

Long time since i asked a question here; i can't play the newb card anymore. :matte-motes-stress:

 

So i wanted to give a friend a bunch of LMs, which i have in several folders.  As an example, let's say i have a Hair folder, and a Kawaii/Goth folder.  All the LMs are fullperms.

 

I want to give my friend one box and have it create both folders in her inventory, and put the LMs into the folders.

 

But when i drag the folders to my full-perm rezzed box on my land with scripts enabled, it just puts the contents of the folder into the box, not the folder itself.

 

So my question is, is it possible to have a folder inside a prim?

 

If not, i could put each set of LMs into its own separate prim, and then put all those prims in a box.  But then my friend has to open the main box, take out all the boxes, and open each one which will create the folders in her inventory with the LMs in them.  Is there a way with a script to automatically open all the boxes in the main box, and copy the contents of those boxes into folders?

 

Alternatively, if i put ALL the LMs in one box, is there a way to, using a script, create subfolders in the reciever's inventory, and then copy the LMs into those folders?  I of course would have to name them something, like Hair001_Amacci, Hair002_Ayashi, Hair003_Cheveux, etc., and the script would have to be hardcoded, or use a wildcard, to know which folder to put which LM.  A lot of work for me i guess, but just curious if it is even possible.

 

Any and all help greatly appreciated, and yes, of course if you IM me inworld i'll give you LMs too.  They are all up to date as of yesterday.  :matte-motes-smitten:

 

You know the drill - have a Grey-8 SL Day!  :catvery-happy:

 

~Bleue

Link to comment
Share on other sites


Alternatively, if i put ALL the LMs in one box, is there a way to, using a script, create subfolders in the reciever's inventory, and then copy the LMs into those folders?  I of course would have to name them something, like Hair001_Amacci, Hair002_Ayashi, Hair003_Cheveux, etc., and the script would have to be hardcoded, or use a wildcard, to know which folder to put which LM.  A lot of work for me i guess, but just curious if it is even possible.

Yeah, the underlying LSL function is llGiveInventoryList(). Maybe somebody has used that to script something that streamlines the process for end-users, dunno.

Link to comment
Share on other sites

Oh cool thnks Qie Niangao!

 

A wiki for the scripting language; i didn't know that existed so now i can try to learn scripts.  Up to this point i just use free ones i find around, and very seldom tweak them just a little.  Although tbh i only sorta understand them when i read them, so writing from scratch isn't gonna happen...

 

okay, wish me luck everyone, although yes, please continue to post replies to this thread if there is a way without using a script to put folders in a prim.

 

Thanks, and have a Grey8 SL Day!  :matte-motes-big-grin:

~Bleue

Link to comment
Share on other sites

Qie already give the answer. I just expand on it a bit

 
+
 
a simple way:
 
1) put each folder items in a separate box
2) name each box the same as the folder
3) then put the script below into each box. is found here the script http://wiki.secondlife.com/wiki/LlGiveInventoryList
4) link the boxes to make a linkset
5) give your friend the linkset object
 
then they:

6) can click/touch on each box in the linkset and it will give them a unique named folder for each
 
note: is possible to make the linkset give all boxes as unique folders with one click/touch, but have to do some more scripting to do that
 
+
 
wiki script
 
default{    touch_start(integer total_number)    {        key owner = llGetOwner();        if (llDetectedKey(0) != owner)            return;         list inventoryItems;        integer inventoryNumber = llGetInventoryNumber(INVENTORY_ALL);         integer index;        for ( ; index < inventoryNumber; ++index )        {            string itemName = llGetInventoryName(INVENTORY_ALL, index);            if (itemName != llGetScriptName() )            {                if (llGetInventoryPermMask(itemName, MASK_OWNER) & PERM_COPY)                {                    inventoryItems += itemName;                }                else                {                    llGiveInventory(owner, itemName);    // 2.0 seconds delay                }            }        }         if (inventoryItems != [] )            llGiveInventoryList(owner, llGetObjectName(), inventoryItems);    // 3.0 seconds delay    }}

 

Link to comment
Share on other sites

thank you so much irihapeti!  :cathappy:

 

I will give this a try, it will help me learn how to do scripts.  And i think this is great for boxes with a few items, but that 3 second delay - i have like 50 LMs in each box, so that will take quite a while to transfer to my friend's inventory.  I might need to explore other scripting options?  i know, there's a different forum for that....

 

Does anyone know why LL doesn't allow subfolders in a prim?  That seems the simplest solution, then you could have a whole folder structure in there and the owner of the box can have that easily created in their inventory.

 

Thanks a bunch!

~Bleue

Link to comment
Share on other sites

the time delay is to stop greifing. Is why we cant have nice things sometimes. greifers

if is no time delay then greifer can just flood the person. and the viewer can lock up bc flood. So not able to delete the box and stop the flooding

flooding by give the same item over and over and over

so just have to take the time delay into account when making your giver

+

about the folders in contents

yes I would like that as well

+

about why not folders

i think the design allows this already. Just not folders. The design is boxes within boxes. Like you mention earlier

rez the top box. then script rez the box(s) in contents, then script rez the box(s) in them, and so on 

  

Link to comment
Share on other sites

Hi irihapeti!

 

Thanks so much for your thorough responses - i will keep trying to learn scripting but yeah, for 100 LMs the 3 second thing isn't gonna work.  But I will keep l;earning - thanks!   :catvery-happy:

 

I'll do as you said, the box within a box.

 

Thanks so much for all your help!  :matte-motes-bashful-cute-2:

~Bleue

Link to comment
Share on other sites

even with box within a box then you still have to get the contents from the box into inventory with GiveInventory/List

is no way round not using GiveInventory/List unless manually Open the box and Copy to Inventory. So still have to deal with the time delay, no matter how is scripted

 

Link to comment
Share on other sites

This will probably sound crazy, but If I were faced with solving this sort of dilemma, I wouldn't mess with boxes at all.  What I'd do is put the LMs into a main folder with the sub-folders I'd want my friend to receive. Then, I'd set that folder up as a listing on Marketplace for perhaps 1L, at which point, I would go there and buy it for them as a gift.  That way, I wouldn't have to mess with scripts (which I'll probably never use again) and I wouldn't have to worry about my friend having to unpack a ton of boxes or waiting for their contents to load.  Might be something to consider.

...Dres

Link to comment
Share on other sites

Hello to you too HughJegow!

 

Hmmmm, okay, well that was not the nicest way you could have put that.  I'm sorry i bored you.  i was hoping to avoid a scripting solution so i didn't want to post it there, i thought it was a pretty basic 'general' question so i thought it made sense to post it here (as this is called general discussion), and from the subject line it's pretty obvious what i'm asking, so if it is not of interest to you please skip it so you aren't bothered.

 

i hope your day gets better than it was.  :matte-motes-asleep-2:

 

Best wishes,

~Bleue

Link to comment
Share on other sites


bluelacroix wrote:

Hello to you too HughJegow!

 

Hmmmm, okay, well that was not the nicest way you could have put that.  I'm sorry i bored you.  i was hoping to avoid a scripting solution so i didn't want to post it there, i thought it was a pretty basic 'general' question so i thought it made sense to post it here (as this is called general discussion), and from the subject line it's pretty obvious what i'm asking, so if it is not of interest to you please skip it so you aren't bothered.

 

i hope your day gets better than it was.  :matte-motes-asleep-2:

 

Best wishes,

~Bleue

It got worse. You kept posting boring stuff, and emphasised your obliviousness to the fact that this is a General Discussion forum not a General Questions forum. You also seem unable to spell your own name.

Link to comment
Share on other sites


bluelacroix wrote:

Hello to you too HughJegow!

 

Hmmmm, okay, well that was not the nicest way you could have put that.  I'm sorry i bored you.  i was hoping to avoid a scripting solution so i didn't want to post it there, i thought it was a pretty basic 'general' question so i thought it made sense to post it here (as this is called general discussion), and from the subject line it's pretty obvious what i'm asking, so if it is not of interest to you please skip it so you aren't bothered.

 

i hope your day gets better than it was.  :matte-motes-asleep-2:

 

Best wishes,

~Bleue

Seems your question did create some discussion  :)

Link to comment
Share on other sites


CheriColette wrote:


bluelacroix wrote:

Hello to you too HughJegow!

 

Hmmmm, okay, well that was not the nicest way you could have put that.  I'm sorry i bored you.  i was hoping to avoid a scripting solution so i didn't want to post it there, i thought it was a pretty basic 'general' question so i thought it made sense to post it here (as this is called general discussion), and from the subject line it's pretty obvious what i'm asking, so if it is not of interest to you please skip it so you aren't bothered.

 

i hope your day gets better than it was.  :matte-motes-asleep-2:

 

Best wishes,

~Bleue

Seems your question did create some discussion  
:)

I try extremely hard to convert boring, inappropriate threads into interesting discussions; it is perceptive of you to notice.

~Heue

Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 3163 days.

Please take a moment to consider if this thread is worth bumping.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...