Make sure you've added the item type to the item_table in const.c. Should be pretty straight forward on where to add it, but incase, make sure it's above the NULL entry and below the last valid entry.
By the way, one of the common mistakes of new coders (and an extremely nasty and subtle mistake since it will go wrong *silently*) is to inadvertently make the tables in build.c/const.c/other places go out of synch with the enumeration in mud.h. Although this is perfectly legal code and the compiler will happily compile it and the MUD might happily use it without crashing, what it does is it silently permutes which entries really do what. Especially nasty if the problem spreads into pfiles/area files/etc. before you detect it.
It can be, but if you look in at ROM, this particular structure isn't accessed via index numbers, it's purely accessed through lookup functions, and is then terminated by a null entry at the end. It prevents such mishaps. Though, there is the odd table in ROM that does use this type of indexing.
Okay, it says to add a string to olc_act.c in save_object, but the build I'm using has moved save_object to olc.c and it doesn't seem to actually save the object unless I do something else.
Any idea why?