06 Aug, 2007, Vorlin wrote in the 1st comment:
Votes: 0
Greetings all…I've been beating my brains out trying to figure out how to fix this *one* measly error that I'm getting. While it doesn't crash the mud, it's still preventing the complete and pure compile that I always go for.

Preface: I downloaded Quickmud which saved me a lot of time in getting other things in like OLC, copyover, color, and other things. I fixed all the ambiguous else statements and then started working on adding new stuff. I added my own backup and host information that I wrote years ago and had put them on Kyndig's site. Here's where the problem comes in. I decided to write a brand new 'ignore' system as the ones I looked at were good, but didn't have the options I wanted nor the checks I would normally put in. The code I used from others (very little) got rewritten, compacted, and improved (IMHO, of course) and I added a ton of stuff. This all in a file named ignore.c.

Problem: after getting ignore.c working perfectly with the mud, the pfiles storage, and whatnot, I started adding the is_ignoring(CHAR_DATA *ch, char *argument) "function" to act_comm.c and when I got done, I compiled and got this (I removed auction or else it would've been first). Yes, I've been looking up the error and anything else pertaining to it but haven't figured out how to fix it (I'm probably missing something like usual, hehe).

act_comm.c:317: warning: implicit declaration of function `is_ignoring'


Now, since it's not a function like do_ignore is that's declared in interp.c, interp.h, and ignore.c, how the F do I fix this? It's not crashing the mud as I've tested it with people online but it's just annoying when it's my only error from a complete clean compile. Any help would be greatly appreciated. Thanks in advance!

–Vorlin
06 Aug, 2007, Guest wrote in the 2nd comment:
Votes: 0
First off, welcome aboard. Hope you're finding everything ok :)

Secondly, your problem with: is_ignoring(CHAR_DATA *ch, char *argument)

This is usually fairly easy to get around. If you're going to be using the is_ignoring function a lot, then you want to put a prototype for it in merc.h where everything can see it. If only act_comm.c needs it, you can put the prototype at the top of act_comm.c, or just make sure the function itself is placed above the first call to it.

Your prototype will be as simple as: bool is_ignoring( CHAR_DATA *ch, char *argument );
06 Aug, 2007, Vorlin wrote in the 3rd comment:
Votes: 0
Thanks! I found that out… I used 'extern bool is_ignoring(CHAR_DATA *ch, CHAR_DATA *victim);' in merc.h like you mentioned and it worked perfectly.

Now I'm just trying to find out how to use the is_ignoring() in do_say where TO_ROOM is called from act() but can't find the declaration and definition of TO_ROOM to save my life.
06 Aug, 2007, Zeno wrote in the 4th comment:
Votes: 0
It should be defined in a .h file, I think. It's just a enum though (at least Smaug is).
07 Aug, 2007, kiasyn wrote in the 5th comment:
Votes: 0
grep TO_ROOM *.h
0.0/5