Jerry Billings wrote:
>
> Okay I managed to fix the whole thing, the entire lives system works just
> fine, but now i'm trying to add a check for when lives equal 0 to not allow
> the char to log back into the mud...only i cant figure what to do.. I tried
> to add this to comm.c
> if GET_LIVES(ch) == 0 send_to_char("Sorry you have run out of lives", ch)
> CLOSE_SOCKET(desc);
>
> right before:
> SEND_TO_Q(GREETINGS, newd);
Such a check is not necessary because the lives system I showed you sets
the deleted flag for the character, basically that's the equivelent of
deleting the character, so when they try to log back in they'll get a
message such as...
Did I get that right <playername>? (Y/N)
As for the error you were getting earlier, I suspect it may be because
you need to #include "utils.h" in fight.c.
as for !--GET_LIVES(ch) that actually does several things...
1. the -- decrements the value of GET_LIVES(ch).
2. becuase the -- is in front of GET_LIVES(ch) the value returned is
the value that it has after being decremented.
3. The ! means "not" and it forces boolean evaluation of GET_LIVES(ch),
any non-zero value will return true whole zero returns false, and the !
reverses that, so that if GET_LIVES(ch) is zero then it will return
true, basically it's the same as...
--GET_LIVES(ch) == 0
BTW, did I put the !IS_NPC(ch) check in there? I should have, if not
add it as follows...
if (!IS_NPC(ch) && GET_LEVEL(ch) < LVL_IMMORT && !--GET_LIVES(ch))
oh, and BTW, GET_LIVES(ch) < 1 will not work because it will not
decrement GET_LIVES(ch).
Regards, Peter
+------------------------------------------------------------+
| Ensure that you have read the CircleMUD Mailing List FAQ: |
| http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html |
+------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 04/10/01 PDT