Hello all, I coded a spec_proc that is giving me fits. I've modified this a few times, trying to get it to work so it looks about as hackish as it can get... The problem is when the character types a command, like kick mob, the character is the one that says the do_say, instead of the mob. And when I try to do an act(), the $n is the character, not the mob. If I change $n to $N, it still doesn't work. I thought about adding struct char_data *vict to the top of the proc, then changing the do_say to do_say(vict, "", 0, 0); and then right before the do_say(), add ch = vict, but that doesn't seem to work either... Well, here's the code..any help is appreciated: SPECIAL(canttouchme) { ACMD(do_say); if (GET_LEVEL(ch) >= LVL_IMMORT) return (0); if ( CMD_IS("punch") || CMD_IS("bash") || CMD_IS("bash") || CMD_IS("disarm") || CMD_IS("kick") || CMD_IS("push") || CMD_IS("powerpunch") ) { act("$N raises $s arms in disgust", FALSE, ch, 0, 0, TO_ROOM); do_say(ch, "Your little warrior skills cannot hurt me!", 0, 0); return (1); } if( CMD_IS("cut") || CMD_IS("encircle") || CMD_IS("backstab") || CMD_IS("strike") || CMD_IS("gouge")) { act("$N raises $s arms in disgust", FALSE, ch, 0, 0, TO_ROOM); act("$N says, 'You foolish little thief, go away before I call your mother to come get you'", FALSE, ch, 0, 0, TO_ROOM); return (1); } if( CMD_IS("cast")) { act("$n closes $s eyes and dispels your magic.", FALSE, ch, 0, 0, TO_ROOM); do_say(ch, "A spell caster no less! bah, be gone with you.", 0, 0); return (1); } if( CMD_IS("kill") || CMD_IS("murder")) { do_say(ch, "KILL ME?! I think not.", 0, 0); return (1); } if( CMD_IS("order")) { do_say(ch, "Ordering your beast to attack me is a quick way of assuring your death.", 0, 0); return (1); } return (0); } +------------------------------------------------------------+ | 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 : 12/15/00 PST