in INTERP.H DECLARE_DO_FUN( do_frecall ); in INTERP.C { "frecall", do_frecall, POS_DEAD, IM, LOG_NORMAL, 1 }, in ACT_WIZ.C at the top add the function protocall void do_frecall( CHAR_DATA *ch, char *argument ); at the end add this /* * forced recall for when a player was accidentally trapped in a * no recall, no teleport, type area. * It should only be used if the imm was at fualt for the mess * It give a message on wiznet. * * (c) 2000 TAKA Ghost Dancer MUD Project * a PYROX - ribbed for her pleasure - original idea! * * It will only transfer them to the temple vnum nowhere else * so i believe it safe for a low level imm. */ void do_frecall( CHAR_DATA *ch, char *argument ) { char arg[MAX_INPUT_LENGTH]; char buf[MAX_STRING_LENGTH]; CHAR_DATA *victim; one_argument( argument, arg ); if ( arg[0] == '\0' ) { send_to_char( "{RForce Recall whom?{x\n\r", ch ); return; } if ( ( victim = get_char_world( ch, arg ) ) == NULL ) { send_to_char( "{RThey aren't here.{x\n\r", ch ); return; } if ( IS_NPC(victim) ) { send_to_char( "{RNot on NPC's.{x\n\r", ch ); return; } if ( get_trust( victim ) >= get_trust( ch ) ) { send_to_char( "{RYou failed.{x\n\r", ch ); return; } sprintf(buf,"$N force recalled %s",victim->name); wiznet(buf,ch,NULL,WIZ_PENALTIES,WIZ_SECURE,0); send_to_char( "Force Recall Done.\n\r", ch ); stop_fighting(victim,TRUE); sprintf( buf, "%s %d", victim->name, ROOM_VNUM_TEMPLE ); do_transfer( ch, buf); return; }