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