/* To install this code, add the following lines to the stated files: >> mud.h > PLR_QUESTOR to all the other PLR stuff >#define IS_QUESTOR(ch) (xIS_SET((ch)->act, PLR_QUESTOR)) >DECLARE_DO_FUN( do_aquest ); > add to struct char_data: CHAR_DATA * questgiver; /* Vassago */ sh_int nextquest; /* Vassago */ sh_int countdown; /* Vassago */ sh_int questobj; /* Vassago */ sh_int questmob; /* Vassago */ >> act_info.c > add to show_char_to_char_0: if (IS_NPC(victim) &&ch->questmob > 0 && victim->pIndexData->vnum == ch->questmob) strcat( buf, "[TARGET] "); >> fight.c > add to function group_gain() if (xIS_SET(ch->act, PLR_QUESTOR)&&IS_NPC(victim)) { if (ch->questmob == victim->pIndexData->vnum) { send_to_char("You have almost completed your QUEST!\n\r",ch); send_to_char("Return to the questmaster before your time runs out!\n\r",ch); ch->questmob = -1; } } >> tables.c if ( !str_cmp( name, "do_aquest" )) return do_aquest; if ( skill == do_aquest ) return "do_aquest"; /* If you know how to code, you know where those go... */ >> save.c > add to fwrite_char() function: if (ch->nextquest != 0) fprintf( fp, "QuestNext %d\n", ch->nextquest ); else if (ch->countdown != 0) fprintf( fp, "QuestNext %d\n", 30 ); > add to fread_char() function: case 'Q': KEY( "QuestNext", ch->nextquest, fread_number( fp ) ); break; >> special.c >DECLARE_SPEC_FUN( spec_questmaster ); > if ( !str_cmp( name, "spec_questmaster" ) ) return spec_questmaster; > if ( special == spec_questmaster ) return "spec_questmaster"; ( I suggest the following for "bool spec_questmaster( CHAR_DATA *ch )" ) bool spec_questmaster( CHAR_DATA *ch ) { if ( !IS_NPC(ch) ) return FALSE; else return TRUE; } /* This is just a simple thing so you can add your own progs and make your * Questmaster unique to your MUD. */ >> update.c > add to the 'local functions' section: void quest_update args( ( void ) ); /* Vassago - quest.c */ > add to the update_handler() function under pulse_area section: quest_update ( ); */ Now in the mud shell, you need to set up the quest items defined in quest.c, and set up your questmaster by using ... mset <victim> spec spec_questmaster Lastly create the quest command using something like ... cedit aquest create do_aquest And that should be it ... hope you enjoy. LrdElder