I am trying to get guilds to actually work (by this I mean they check and
see if the character is in a guild and if it's their class's guild when they
type "gain"). Everything compiles ok, but it will not recognize ANY room as
any guild type. I have been screwing with this for a day now and I think
I'm gonna need some help. I have listed all the stuff I have changed (it's
kinda long):
**structs.h**
struct new_guild_info {
int room;
int class;
}
**class.c**
struct new_guild_info guilds[] = {
{330, CLASS_THIEF},
{340, CLASS_WARRIOR},
{-1, -1}
};
**spec_procs.c**
SPECIAL(guild)
{
int i, found, (practice vars and whatnot);
if(IS_NPC(ch))
return 0;
else if(!CMD_IS("gain") && !CMD_IS("practice"))
return 0;
else
continue;
i = 0;
while(guilds[i].class != -1) {
if (GET_CLASS(ch) == guilds[i].class && world[ch->in_room].number ==
guilds[i].room)
found = TRUE;
else
found = FALSE;
}
if (!found) {
send_to_char("You can't do that here.\r\n", ch);
return 0;
}
else if (found)
continue;
if(CMD_IS("practice") {
(INSERT ALREADY EXISTING PRACTICE STUFF THEY HAD)
}
if(CMD_IS("gain") {
if(GET_LEVEL(ch) >= (LVL_IMMORT - 1)) {
send_to_char("You are at your highest mortal level!\r\n", ch);
return 0;
}
else if(GET_LEVEL(ch) < (LVL_IMMORT - 1)) {
GET_LEVEL(ch) += 1;
advance_level(ch);
send_to_char("You rise a level!\r\n", ch);
return 1;
}
}
}
That's it (from memory). Any idea to what may be wrong? Oh yeah, I added
the gain command to act.other.c and interpreter.c in the right spots.
Thanks,
Chuck Reed
+------------------------------------------------------------+
| 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