Wrote a function to extract all objects of certain virtual number, only problem is it goes loco whenever the objects r extracted, if I comment out the extract(i) it works fine, can anybody tell me why? :) Nocturnal ACMD(do_objpurge) { struct obj_data *i; int number, r_num; bool found = FALSE; one_argument(argument, buf); if(*buf) { if (!isdigit(*buf)) { send_to_char("Usage: objpurge [vnum]\r\n", ch); return; } if ( (number = atoi(buf)) < 0) { send_to_char("A NEGATIVE number??\r\n", ch); return; } if ( (r_num = real_object(number)) < 0) { send_to_char("There is no mob with that number.\r\n", ch); return; } for (i = object_list; i; i = i->next) { fprintf(stderr, "%s\n", i->name); if (GET_OBJ_RNUM(i) == r_num) { /* this is where it crashes :( */ if (i->carried_by) { act("$p burns into fine ashes and slips through your fingers.", FALSE, i->carried_by, i, 0, TO_CHAR); } else if ((i->in_room != NOWHERE) && (world[i->in_room]->people)) { act("$p is burned into fine ashes and slips through $n's fingers.", TRUE, world[i->in_room]->people, i, 0, TO_ROOM); act("$p is burned into fine ashes and slips through $n'ss fingers.", TRUE, world[i->in_room]->people, i, 0, TO_CHAR); } else if (i->worn_by) { act("$p burns into fine ashes is taken by the breeze.", FALSE, i->worn_by, i, 0, TO_CHAR); act("$n's $p burns into fine ashes is taken by the breeze.", FALSE, i->worn_by, i, 0, TO_ROOM); } extract_obj(i); /* if I comment out this then it works fine */ found = TRUE; } } if (found) { sprintf(buf, "%s objpurges all objects with vnum %d", GET_NAME(ch), number); mudlog(buf, BRF, LVL_GRGOD, TRUE); } } } -- --------------- Codito, ergo sum - "I code, therefore I am" -------------------- http://birk113.studby.uio.no/~ronnyi ronnyi@ifi.uio.no ---------------- In a world without fences, who need gates? -------------------- +------------------------------------------------------------+ | Ensure that you have read the CircleMUD Mailing List FAQ: | | http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html | +------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/15/00 PST