Re: [Code] [Help] special procedure doesn't work

From: John Evans (evansj@HI-LINE.NET)
Date: 11/23/97


On Sun, 23 Nov 1997, Nathan Ridley wrote:

> in spec_assign.c added:
>
> +  SPECIAL(goat);

Good.

> in spec_procs.c added:
>
> SPECIAL(goat)
> {
  [snip]
> }
>
> void npc_eatobj(struct char_data * ch, struct char_data * vict, struct
> obj_data * obj)
> {
[snip]
> }

You should declare npc_eatobj before the SPECIAL because the special
calls npc_eatobj. Like so:
void npc_eatobj([parameters go here])
{
..........
}

SPECIAL(goat)
{
......
}


>   } else {
>     /* destroy the item */
>     act("The $n just ate your $p!", FALSE, ch, 0, vict, TO_VICT);
>     act("The $n just ate $N's $p!", FALSE, ch, obj, vict, TO_NOTVICT);
>     obj_from_char(obj);
>   }

You should stick in an extract_obj(obj) after the obj_from_char() call.
Otherwise you end up with an object that is just... well... sitting nowhere.

That should clear up most of your errors.

John Evans <evansj@hi-line.net>

May the source be with you.


     +------------------------------------------------------------+
     | Ensure that you have read the CircleMUD Mailing List FAQ:  |
     | http://democracy.queensu.ca/~fletcher/Circle/list-faq.html |
     +------------------------------------------------------------+



This archive was generated by hypermail 2b30 : 12/08/00 PST