How exactly does this work?

                    if (make_new)
                    {
                        int wear;

                        wear = obj->wear_loc;
                        extract_obj(obj);

                        obj = create_object(obj->pIndexData,0);
                        obj->wear_loc = wear;
                    }

if you extract_obj(obj), then how can you
create_object(obj->pIndexData,0)?  obj would be NULL, and pIndexData
wouldn't exist, and if for some reason obj weren't NULL, if pIndexData
were NULL it would cause an exit() within create_object... That looked
like the only part that might've applied to my situation, as the only
other part that wasn't stock was the inclusion of this:

                        if ( ch && ch != NULL )
                            obj_to_char( obj, ch );
                        else
                            obj_to_room( obj,
get_room_index(ROOM_VNUM_LIMBO) );

... and you can probably get rid of that double ch check, when you say
if ( ch && ch != NULL ), what you're saying is that if ch has a value
(hence, != NULL) and ch != NULL (which you just checked)... still open
for suggestions tho :)

Richard Lindsey.

Reply via email to