From: IN%"panama@free.org" "Panama N. Red" 9-FEB-1995 11:44:38.70 To: IN%"circle@concrete.resnet.upenn.edu" CC: IN%"circle@pvv.unit.no" Subj: A crash bug and 2 questions >Lastly, I wanted to make player-killing impossible. So I went to the >do_damage (I think that is what it is called) >and put a little line of code after the shopkeeper protection code that >said >if (!IS_NPC(ch) && !IS_NPC(victim)) >{ >send_to_char("You can't kill players here!\n\r", ch); >return; >} >This works GREAT except that if someone is poisoned it gives the >character that message every tick. So if they quaff a poison >potion....it says every tick instead of you feel burning in your blood >and suffer.......You can't kill players here! >I assume it is doing this because the ch is also the victim when you >quaff something. So how do I fix this so that with objects poison works >but when someone casts the spell on another player it just plain doesn't >work. > >Thanks, >Sala >insomnia@arcade.com >arcade.com 1111 > From what i see, (1) do a if(!IS_NPC(ch) && !IS_NPC(victim) && !(is_affected(victim, AFF_POISON) )) { send_to_char("No player killing!\n\r",ch); return; } Another better way would be to include in players' specials.act with #define PLR_NO_KILL_PLAYER (1<<16) modify your functions accordingly and make all players unable to kill other players. In fact, it is more fool proof than have a checking statement above..... just my two pence worth... Nitro who could be wrong....:P sb7230477@omega.ntu.ac.sg
This archive was generated by hypermail 2b30 : 12/07/00 PST