Re: Help with if statement.

From: Sean Daley (sdaley@BBNPLANET.COM)
Date: 10/05/98


The problem is with the x == ((CLASS_CRUSADER ... part
you can't do a comparison that way, you'll have to do it
like && (x == CLASS_CRUSADER || x == CLASS_WARLOCK || ... )

Right now with what you have this pretty much translates

(x == ((CLASS_CRUSADER) || (CLASS_WARLOCK) || (CLASS_ASSASSING)))

(x == ( (5) || (7) || (4) ))

now (5) || (7) || (4) evaluates to well 70656 on my machine
so if this were running on my machine this would be trying
to check x == 70656 which it surely doesn't.

Sean

>
>   if((IS_WARRIOR(ch)) && (x == ((CLASS_CRUSADER) || (CLASS_WARLOCK) ||
>(CLASS_ASSASSIN)))) {
>    send_to_char("You can only select a Knight, Cleric, Thief, Warrior
>or Sorcerer.\r\n", ch);
>    return;
>    }
>
>The character I am trying is a warrior, and tried to remort to assassin.
>This check does not work right.
>
>X is equal to  4.
>Crusader = 5, Warlock = 7, Assassin = 4, Knight = 6.
>


     +------------------------------------------------------------+
     | 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/15/00 PST