hippoINVENTORY User Guide

We all know how slow Second Life can be when it comes to managing inventory within prims. For example, perhaps you’re using hippoVEND, trying to remove items from a server prim with several hundred items in it — every time you delete one, Second Life takes 5 ... 10 ... 20 seconds to update the prim’s contents list. How do you solve this annoying problem? The answer: hippoINVENTORY, a powerful set of scripts that let you quickly manage large inventories using easy to understand commands. Using hippoINVENTORY you can ...

  • Quickly see just the items you want to in a prim’s inventory, using powerful filtering tools
  • Include or exclude items from a search by name or inventory type
  • Choose whether to see extra information, such as object keys or permissions
  • Give items to yourself, friends, or other objects ... either singularly, or in folders
  • Delete selected items — with a confirmatory dialog menu to avoid accidents
  • Allow chosen friends (or a group) to manage inventory
  • Load selected items in a hippoGROUPS, hippoVEND, or hippoRENT server, without reloading the entire inventory list
  • All of this at speeds much, much faster than is possible using Second Life’s built in tools!

These are just a few of the many dozens of powerful commands. Using hippoINVENTORY you could, for example, ...

  • List every texture containing the word “tree” in a prim
  • Copy everything that isn't a script and isn't called “chair” to another prim’s inventory
  • Give a copy of every texture to a friend called John Smith, helpfully organised in a folder called “Textures for John”
  • Upload details of just notecards with “info” in their names to your hippoVEND inventory list online

Anyway, enough of the feature list and on with the instructions!

Installing hippoINVENTORY

In your hippoINVENTORY folder, given when you unpacked the product carton, you will find three scripts. These need to be added to the inventory (contents) of any prim whose inventory you want to manage. To do this ...

  1. Right-click the prim and choose “Edit”.

  2. If only the mini-build window appears, click “More>>>”.

  3. Click on the “Contents” tab.

  4. Now drag the “.inventoryManager”, “.inventoryManager_Support” and “.inventoryManager_Giver” scripts to the “Contents” list. The first two scripts will, as you add them, report readiness.

Job done. You can now close the build window and you're ready to begin.

Using hippoINVENTORY

To use hippoINVENTORY, you issue commands via chat on the channel it is listening on (by default, channel 9, although you can change this, see below). When you first install its scripts, or rez an object with them in, hippoINVENTORY will listen for a couple of minutes before stopping listening (to save lag). To start it listening again, simply touch its prim. You can then type commands like this in chat ...

/9 list

That command will list all the inventory in the prim (note: the hippoINVENTORY scripts themselves will *not* be included in the list reported).

You can now read about each command you can issue below.


> LIST (or abbreviate to just L)

The LIST command lists the contents of the prim's inventory:

/9 list

You can also only show inventory with a particular piece of text in its name; e.g.

/9 list "brown"

Useful Tip

  • Ensure you surround your search text with quotemarks ("") or it won’t be recognised.

You can also search for multiple criteria; so, for example ...

/9 list "green" "apple"

... would find anything called "green" and "apple".

Power User Tip

  • Use the | symbol between search terms to find items containing one term or the other (or both); e.g.

    /9 list "green" | "apple"

    ... would find "green hairbrush" and "apple shampoo"

To look for an exact match, not merely where the inventory name contains the text, put an = sign before the first quotemark; eg.

/9 list ="My First Chair"

Or you can negate your search. E.g. to find everything without "green" in the name, put a minus sign before the first quotemark; e.g.

/9 list -"green"

Or to find every item that does not match something exactly:

/9 list -="My Little Kitten"

Power User Tip

  • You can combine these search methods very powerfully. So for example:

    /9 list "green" | -="Apple Tree"

    ... would find anything with green in its name or which is not called "Apple Tree" exactly.

  • Whilst ...

    /9 list -"blue" -"red" | "rabbit"

    Would not find "blue paint", "red box" but would find "Rabbit Impersonator"

  • By carefully combining search terms you can find exactly the items you’re looking for and nothing else!

You can also look for particular inventory types; e.g. to find textures:

/9 list textures

Or to find objects and scripts ...

/9 list objects, scripts

hippoINVENTORY understands these inventory types (each also has a two letter abbreviation to make typing quicker if you wish)

animation (or an)
bodypart (or bo)
clothes (or cl)
gesture (or ge)
landmark (or lm)
notecard (or nc)
object (or ob)
sound (or so)
script (or scr)
texture (or te) -- will also find snapshots

You can also use negation, so to look for everything that is neither an object or a texture:

/9 list -texture, object

(Note, the - sign can only come at the start of a list of types, e.g. you can't do this: /9 list texture,-notecard)

And you can combine searching by name with searching by inventory type. Here are some examples:

/9 list "green" textures

... to find every texture with "green" in its name.

Useful Tip

  • If combining search by name and search by type, the name criteria must come first; e.g.

    • /9 list "green" textures ... is right
    • /9 list textures "green" is wrong

And you can negate both criteria too; e.g.

/9 list -"blue" -object

... to find any object that is not called blue and is not an object.

You can also include modifiers in your command to further refine the command. For example:

-k Tells hippoINVENTORY to include the inventory item”s key in the output
e.g. /9 list "green" -k

Note: depending on the permissions you have for an object, Second Life may not be willing to release its key to the script).
-c Tells hippoINVENTORY to include the creator’s key in the output
e.g. /9 list scripts -c

Note: depending on the permissions you have for an object, Second Life may not be willing to release its creator key to the script).
-p Includes details of the item’s permissions in the output
e.g. /9 list textures -p

For each item will report your permissions and the permissions any next owner will have; the output will use the letters C(opy), M(odify) and T(ransfer) — an uppercase letter (C, M or T) signifies the object has that permission; a lowercase letter (c, m, or t) that it does not. So for example:

Elm {Owner: CMT | Next: cmT}
- Current owner can copy, modify, transfer. Next owner can transfer only.

-t Includes details of the item’s inventory type (e.g. notecard, texture, object) in the output
e.g. /9 list -t
-r Tells hippoINVENTORY to output the list in reverse alphabetical order
e.g. /9 list sound,notecard -r
-s Prints a "spacer" line after the output (useful if your screen/chat history is getting cluttered)
e.g. /9 list -s
-a instructs hippoINVENTORY to set any scripts found in the list to active (running)
e.g. /9 list scripts -a
-i set any scripts found to inactive (not running)
e.g. /9 list scripts -i
-n Tells hippoINVENTORY not to use any warning dialog when bulk deleting or giving items, so use with care.
e.g. /9 delete "old stuff" -n
e.g. /9 give "bribes" to Eric ThePolitician as Kickbacks -n
Do use this with care, especially when deleting things!

(Only works in hippoINVENTORY v1.2 or higher)

These can be combined. So, for example to list every texture in reverse order, include its key and print a spacer line after it, you could use /9 list textures -r -k -s.

Useful Tip

  • Do make sure you have a space between a tag and anything before it; e.g.

    • /9 list textures -p -r ... is right
    • /9 list textures-p-r is wrong

Finally, you can also limit a list length by including a number in your command. So, for example:

/9 list textures 3

... will output details of the first 3 textures, then stop, no matter how many the prim contains

> GIVE (or abbreviate to just G)

The format for this command is nearly identical to list, above, but on the end of the command you must specify to whom the items found are to be given; e.g.

/9 give textures to Pathfinder Linden

... to give this particular Linden all the textures in the prim. You’ll be asked for final confirmation (unless you have specified no warnings) before the items are actually given:

Remember that trying to give items for which you don’t have transfer permissions to another person will cause an error!

Useful Tip

  • You can specify just part of a person’s name; e.g. /9 give textures to Pathfinder

Useful Tip

  • If specifying an avatar as a recipient, they must be within 96m of the prim, so they can be detected and their Second Life key obtained.

You can also specify the recipient by their Second Life key; e.g.

/9 give sounds to 0e9fd382-7f9b-45a4-8cb8-4228867b04bc

Again, you’ll be asked to confirm what you’re doing before any items are given.

Useful Tips

  • This means, of course, you can give items to another Second Life object provided you know its key

  • If giving items to a person by key, they can be anywhere in Second Life; if giving them to an object, it must be within the same sim, or Second Life will report an error!

Finally, it is possible to give items in a folder. Use e.g.

/9 give sounds to Professor Yaffle as Useful Folder of Noise

... to give a folder called “Useful Folder of Noise” full of your sounds. The confirmatory dialogue will enable you to double check you’re happy with the folder name ...

Useful Tips

  • You can’t give items in a folder if you do not have copy permissions for them. This is due to Second Life restrictions. You can give no-copy items using the regular give command, just not as part of a folder.

  • If you give a folder of items to another object, the items will be transferred — but not within a folder — since individual prims cannot contain sub-folders in their inventories.

> DELETE (or abbreviate to just D)

Delete also takes the same format as the list command above, only after listing the items found hippoINVENTORY will ask whether you wish to delete them (unless you have specified no warnings ... use this option carefully!).

Be careful! Answer "Yes" and they'll be deleted from the prim — not returned to your Lost & Found folder. If you use this on no-copy items, you'll lose them forever. Be careful!


/9 delete "brown" textures

... to delete any textures with ”brown” in their names (it’s such an unfashionable colour!)

> LOAD (or abbreviate to just LO)

Also takes the same format as the list command above, but if hippoINVENTORY is running in the very latest hippoVEND, hippoGROUPS or hippoRENT (Web Enabled) server, the inventory items found will then have their details uploaded to the website list. This is a useful way of quickly loading just selected inventory when you've changed something, rather than everything.

e.g. /9 load notecards

... to upload any notecard details to your hippoVEND, hippoGROUPS or hippoRENT account (depending what server type you’ve got this copy of hippoINVENTORY inserted into!) You’ll be asked for confirmation before the load takes place.

Please note: if using this with a hippoVEND server, don't load limited edition items (or their masters) this way -> it will confuse the count of how many of each item you have available. For limited edition items you're selling, use the server's regular "Load Inv" menu button.

Useful Tip

  • Need the latest version of the server for a product? Just visit the main Hippo Technologies Store, head upstairs to Customer Services, use any one of the four updater machines (choose your product using the arrows, hit the big, red 'Get Update' button).


hippoINVENTORY remembers the last 10 commands typed and can recall them. To view the command history list, type e.g.

/9 history
(or simply /9 h for speed)

And once you've seen a command you want to repeat, just use /9 history <item number>), e.g.

/9 history 2

... to do the second item on the list again.


Finally, there are a series of simple commands that do a variety of useful things ...

> CHANNEL <number>
e.g. /9 channel 12
Changes the channel that hippoINVENTORY listens on (in the example above, you’d then prefix every command with /12 rather than /9 after issuing this).

Useful Tip

  • When you touch the prim that the hippoINVENTORY scripts reside in, they’ll remind you the channel to use to enter commands on.

> VOLUME <1, 2, 3 or 4> (only works in hippoINVENTORY v1.2 or higher)
e.g. /9 volume 3
Changes the volume level that hippoINVENTORY chats feedback at. You can choose from:

1 Whisper
2 Say
3 Shout
4 OwnerSay (only you will hear it)

> MANAGERS <list of names>
e.g. /9 managers Fred Flintstone, Norman Wisdom, Hugo First
Provide a list of other people who can manage hippoINVENTORY (e.g. to whom it will listen when touched). If you include 'Group' as one of the names (e.g. /9 managers Fred Flintstone, Barney Rubble, Group) then anybody with the same group tag active as the group the prim is set to will be able to use your hippoINVENTORY scripts.

Useful Tips

  • Managers have access to all the hippoINVENTORY functions, including the ability to delete inventory; so only grant these rights to people you trust!
  • To remove all managers, just leave off any names; e.g. /9 managers
  • To save typing, you can abbreviate this command; e.g. /9 man Kerr Avon, Vila Restal

e.g. /9 key
Asks hippoINVENTORY to tell you the key of the prim it is in. Useful if you want to give inventory between prims using the GIVE command described above.

e.g. /9 allow
Opens up the prim to allow anybody to add inventory by CTRL-dragging items to it. (Once an addition has been received, the prim will become “closed” to inventory again).

e.g. /9 kill hippoinventory
- Removes the hippoINVENTORY scripts from the prim (useful if you’re wanting to update to the latest version, perhaps). Only the owner (so not any managers) can issue this command; you'll be asked to confirm the action before the scripts are removed.


If you have multiple hippoINVENTORY scripts in different prims listening on the same channel, you might want to direct a command to just a particular prim. To do this, start your command with part of the prim name enclosed in []. So, for example, to tell your filing cabinet to list its contents ...

/9 [filing] list

... or your wardrobe to tell you what you could wear tonight ...

/9 [wardr] list clothes

You get the idea!

Finally, if using hippoINVENTORY v1.3 or later, there’s the text command. It works like this:

/9 text Here is some hovertext!

You can insert new lines with the pipe ... | ... symbol; e.g.

/9 text Look, text on|two lines

And you can also use special tags that will be substituted when the hovertext is displayed;

  • <PRIM NAME> will be replaced with the name of the prim
  • <PRIM DESC> will be replaced with the name of the prim

e.g. /9 text My prim is called <PRIM NAME> -- neat, eh?

(If you change either the prim name or description, simply touch it to have the hovertext update).

Then there are text tags to let you perform live inventory counting ...

  • <COUNT ALL> will be replaced with a count of every item in the prim (not counting the three hippoINVENTORY scripts)
  • <COUNT ANIMATION> will be replaced with a count of every animation
  • <COUNT BODYPART> will be replaced with a count of every bodypart
  • <COUNT CLOTHING> will be replaced with a count of every clothing item
  • <COUNT GESTURE> will be replaced with a count of every gesture
  • <COUNT LANDMARK> will be replaced with a count of every landmark
  • <COUNT NOTECARD> will be replaced with a count of every notecard
  • <COUNT OBJECT> will be replaced with a count of every object
  • <COUNT SCRIPT> will be replaced with a count of every script (not counting the three hippoINVENTORY scripts)
  • <COUNT SOUND> will be replaced with a count of every sound
  • <COUNT TEXTURE> will be replaced with a count of every texture

So, for, example:

/9 text I contain <COUNT TEXTURE> texture(s) and <COUNT LANDMARK> landmark(s) inside me!

Counts get updated when inventory is added or removed. (If the count doesn't update, simply touch the prim).

You can change the colour of the text by supplying a colour vector;

e.g. /9 text <1, 0, 0>

To remove text entirely, just do this ... /9 text

And, of course, you can abbreviate the command to simply "t"; e.g. /9 t Look! This works!

<< Back