On Thu, 10 Aug 1995, FourSpace wrote:
> > > I seem to be having a problem with perform_act in my 3.0blp8. It seems
> > > that when i call a TO_ROOM act, with null ch and vict_obj (obj, the
> > > second pointer, is the only one used), and the room is dark (flagged
> > > or nighttime), perform_act barfs on the line where it hits the $p in the
> > > switch, and calls CHECK_NULL(obj, OBJS(obj, to)).
> >
>
> Actually, the to variable is defined in the following way, in act():
>
> to = world[ch->in_room].people;
> else if (obj && obj->in_room != NOWHERE)
> to = world[obj->in_room].people;
> else {
> log("SYSERR: no valid target to act()!");
> return;
> }
>
> I want to use act() instead of send because it already uses the
> PERS macro to determine whether each recepiant of the mssg can even
> see the char/obj in question (obj in this case)., Ie
> "A long sword falls out of the sky." as opposed to
> "Something falls out of the sky."...
>
Ooops, thats the problem, when imping a non-circle dikumud and reading a
circle mud list, and thinking circle didn't change act too much. :)
So best start gdb and check out some of the vars, when it's crashing.
Especially if obj is still legal etc.
Without the special itself, i can only guess whats wrong. :)
Herbert
[on public request 12 lines of signature deleted] *snip* ;)
This archive was generated by hypermail 2b30 : 12/18/00 PST