Hello all. Just a few things I want to share :
Small stock bug, just a cosmetic thingy, really. In the do_advance
function in act.wizard.c, if you advance another character from a higher
level to a lower level, the message gets sent to the god instead of the
victim. (Hey, I'm a stickler for little things =)
send_to_char("You are momentarily enveloped by darkness!\r\n"
"You feel somewhat diminished.\r\n", ch);
Just need to change this ^^ to victim, and you'll
be set.
And here's my almost completed newbie spec_procedure, with one small bug.
I'm sure there are many more efficient ways to impliment this, but this is
how I went about doing it. I added a plr flag, PLR_NEWBIED, for the mob
to check if the character has been newbied. I'm sure I'll change it in
the future, beacuse it seems a shame to waste the flag, but for now it
works just fine. I'm not the world's best coder. Yet. -)
Everything works except when the newbie helper equips a newbie, it displays
'The newbie helper give the newbie helper several items.' I can't seem to
figure out why it displays that. Could someone point it out to me?
Anyway, here it is. Enjoy! Remember to add the flag in structs.h
SPECIAL(newbie)
{
struct char_data *self;
struct obj_data *obj;
int z;
int give_obj[] = { 3030, 3032, 3102, 3102, 3102, 3009, 3043, 3076, 3081,
3071, 3023, -1};
self = (struct char_data *)me;
if (CMD_IS("newbie"))
{
if (IS_NPC(ch)) {
act("$n says, 'Mobs are not eligible for my help.'", FALSE, self, 0,
0, TO_ROOM);
act("$n frowns.", FALSE, self, 0, 0, TO_ROOM);
return TRUE;
}
if (GET_LEVEL(ch) > 1) {
sprintf(buf, "The newbie helper tells you, 'You are too experienced
for me to help.'\r\n");
send_to_char(buf, ch);
act("$n smiles happily.", FALSE, self, 0, 0, TO_ROOM);
return TRUE;
}
if (IS_SET(PLR_FLAGS(ch), PLR_NEWBIED)) {
sprintf(buf, "The newbie helper tells you, 'I've already helped you!
Please don't bother me for anything else.'\r\n");
send_to_char(buf, ch);
act("$n frowns slightly.", FALSE, self, 0, 0, TO_ROOM);
return TRUE;
}
/* If they made it this far, they are eligible for the mob's help */
/* So, we help them! */
for (z = 0; give_obj[z] != -1; z++) {
obj = read_object(give_obj[z], VIRTUAL);
if (obj == NULL)
continue;
obj_to_char(obj, ch);
}
act("$n tells you, 'Here you go.'", FALSE, self, 0, ch, TO_VICT);
act("$n gives you several items.", FALSE, self, 0, ch, TO_VICT);
act("$n gives $n several items.", FALSE, self, 0, ch, TO_NOTVICT);
act("$n smiles happily.", FALSE, self, 0, 0, TO_ROOM);
sprintf(buf, "%s was newbie equipped.", GET_NAME(ch));
SET_BIT(PLR_FLAGS(ch), PLR_NEWBIED);
mudlog(buf, CMP, LVL_IMMORT, TRUE);
return TRUE;
}
if (cmd)
return FALSE;
if(AWAKE(ch)) {
switch (number(0, 20))
{
case 0:
act("$n says, 'Anyone here need help?'", FALSE, ch, 0, 0, TO_ROOM);
break;
case 1:
act("$n says, 'I'm a very helpful mobile.'", FALSE, ch, 0, 0,
TO_ROOM);
break;
case 2:
act("$n says, 'If anyone needs help, just ask for it.'", FALSE,
ch, 0, 0, TO_ROOM);
break;
case 3:
act("$n sighs loudly, scratching his head.", FALSE, ch, 0, 0,
TO_ROOM);
break;
default:
break;
}
return TRUE;
}
return FALSE;
}
+-----------------------------------------------------------+
| Ensure that you have read the CircleMUD Mailing List FAQ: |
| http://cspo.queensu.ca/~fletcher/Circle/list_faq.html |
+-----------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/18/00 PST