AddToInventory
This is a piece of code I created in response to a query on the Quest forum, but for some unknown reason the forum's adult-content filter wouldn't allow me to post it. So here it is!
<function name="AddToInventory" parameters="object" type="string"> message = null foreach (bag, FilterByType (ScopeInventory (), "inventorybag")) { message = "" if (object.parent = bag) { return ("It is already in your "+GetDisplayName (bag)+".") } if (HasInt (bag, "maxvolume")) { if (GetVolume(object, true) + GetVolume(bag, false) > bag.maxvolume) { if (HasString(bag, "containerfullmessage")) { message = bag.containerfullmessage } else { message = DynamicTemplate("ContainerFull", bag) } } } if (HasInt (bag, "maxobjects")) { if (ListCount (GetDirectChildren (bag)) >= bag.maxobjects and bag.maxobjects > 0) { if (HasString(bag, "containermaxobjects")) { message = bag.containermaxobjects } else { message = DynamicTemplate("MaxObjectsInContainer", bag) } } } if (message = "") { object.parent = bag return ("You put " + object.article + " in your " + GetDisplayName(bag) + ".") } } if (message = null) { // This is what will happen if the player isn't carrying a bag/satchel. // Depending on your game setup, this might never happen; // or you might allow the player to carry 2 objects in their hands. object.parent = game.pov return ("You pick it up.") } else { return (message) } </function>