From: dennis@starlifter.reichel.net
Hi,
An imm wrote out a long penalty and addressed it to immortal, as well
as a couple of players. He was disappointed it would not be seen
by those players unless it were also posted to notes, since I was
unwilling to give players access to the penalty spool :-)
This will forward message from one spool to another. A suggested
implemtation is shown to address the above situation.
Insert wherever, but suggest right below count_spool.
/* forward_spool, version 0
/* Released under Gnu FSF License terms, Dennis Reichel (c) 1997 */
/* Why Gnu? Least restrictive license that encourages free distribution */
/* Why a copyright and license at all? I don't want to get sued some day */
/* for using my own code :-) */
int forward_spool(CHAR_DATA *ch, NOTE_DATA *spoolfrom, NOTE_DATA *spoolto)
{
int count = 0;
NOTE_DATA *pNoteFrom, *pNoteTo, *spoolto_last;
for (pNoteFrom = spoolfrom; pNoteFrom != NULL;
pNoteFrom = pNoteFrom->next)
if ( is_name( ch->name, pNoteFrom->to_list ) &&
!hide_note(ch,pNoteFrom) )
{
for ( spoolto_last = spoolto; spoolto_last->next ; )
{
spoolto_last = spoolto_last->next;
}
spoolto_last->next = pNoteTo = new_note();
pNoteTo->next = NULL;
pNoteTo->sender = str_dup( pNoteFrom->sender );
pNoteTo->date = str_dup( pNoteFrom->date );
pNoteTo->date_stamp = current_time;
pNoteTo->to_list = str_dup( ch->name );
pNoteTo->subject = str_dup( pNoteFrom->subject );
pNoteTo->text = str_dup( pNoteFrom->text );
pNoteTo->type = spoolto->type;
count++;
}
return count;
}
sprintf(buf,"%d %s been added.\n\r",
count, count > 1 ? "penalties have" : "penalty has");
send_to_char(buf,ch);
}
==== begin add to do_unread =====
if (!IS_TRUSTED(ch,ANGEL) && (count =
forward_spool( ch, penalty_list, note_list )) > 0)
{
found = TRUE;
sprintf(buf,"%d %s been forwarded to your note spool.\n\r",
count, count > 1 ? "penalties have" : "penalty has");
send_to_char(buf,ch);
}
==== end add to unread ====
if (!found)
send_to_char("You have no unread notes.\n\r",ch);
}