home *** CD-ROM | disk | FTP | other *** search
/ The Arcade BBS / arcadebbs.zip / arcadebbs / bbstools / MODS / DREAM06C.ZIP / DREAM06C.MOD
Encoding:
Text File  |  1995-01-13  |  19.2 KB  |  705 lines

  1. Dale Cooper #1 @10118
  2. Mon Jan 09 22:20:58 1995
  3. 0R 34 01/11 01:55 WWIVNET 4051->8421
  4. 0R 34 01/10 18:00 WWIVNet 4001->4051
  5. 0R 34 01/09 15:32 WWIVnet 4000->4001
  6. 0R 34 01/10 07:01 WWIVnet ->4000
  7. 0R 34 01/10 02:12 WWIVnet 4001->4000
  8. 0R 34 01/09 08:12 WWIVnet 10100->4001
  9. 0R 34 01/09 22:17 WWIVnet 10118->10100
  10. 0R 34 01/09 22:22 WWiVnet ->10118
  11. ┌────────────────────────────────────────────────────────────────────────────┐
  12. │ Mod Name: Dream06C.mod            Date: January 09, 1995                   │
  13. │ Difficulty:  ██████▒▒▒▒▒          Mod Authors:  Unca Scrooge               │
  14. │ WWIV Version:  4.23                             Dale Cooper                │
  15. │                                                                            │
  16. │ Files Affected: VARDEC.H, BBS.C, LILO.C, MSGBASE.C, MSGBASE1.C, FCNS.H,    │
  17. │                 VARS.H  BBSUTL.C MULTINST.C                                │
  18. │ Description:  Edit Main, Read, and Xfer prompts from inside BBS.           │
  19. │               Also uses "MCI's".. example included.                        │
  20. └────────────────────────────────────────────────────────────────────────────┘
  21.  
  22. Rev B     :  Upgraded for 4.23, added a few more MCI's (Confs, Msg Title,
  23.              Timebank...)  Example is UUE'd at the bottom... those are
  24.              the prompts I use..
  25.  
  26. Rev C     :  Well Unca left me with this bug that made people's systems
  27.              lock up. Fixed it so that //PE won't lock your board. In other
  28.              words the mod will work now! :)
  29.  
  30. Long Desc :  Lets SysOps edit the Main, Read, and Xfer prompts from within
  31.              the BBS.  No need to edit the source (after the mod's installed
  32.              ... duh)  It uses "MCI commands"  (From my C64 days...)  example:
  33.              my main prompt is edited like this (No ^P's added because I use
  34.              extended colors : (Well, it looked like this in 4.22, my 4.23
  35.              prompts look different <g> and they're UUE'd at the bottom)
  36.  
  37. ────═══* [@s] [@S] *═══──── :
  38.  
  39. which comes out like this :
  40.  
  41. ────═══* [1] [Notes From the Management                      ] *═══──── :
  42.  
  43. ( I added the spaces in //Boardedit....   your's won't have 'em unless ya put
  44.   'em there)   I like it!
  45.  
  46. Anyhoo... here are the MCI commands you can edit into it...
  47.  
  48. @C - SubConf Name                 @B - DirConf Name
  49. @c - SubConf Designator           @b - DirConf Designator
  50. @S - SubBoard Name                @u - Time Used (Minutes)
  51. @s - SubBoard Number              @l - Time Left (Minutes)
  52. @D - Directory Name               @n - User's Name and Number
  53. @d - Directory Number             @r - Goto Next Like (CR/LF)
  54. @z - Current Baud Rate            @x - ANSI Escape Character
  55. @G - Beep                         @g - User's Gold
  56. @A - User's SL                    @M - Current Message Number
  57. @a - User's DSL                   @m - Number of Messages in Sub
  58. @f - Upload/Download Ratio        @p - Post/Call Ratio
  59. @T - Current Message Title        @t - User's BankTime
  60.  
  61. NOTE!!!!! :  THE FIRST THING YOU ***MUST*** DO BEFORE EDITING YOUR PROMPTS
  62.              IS...  LOGON, HIT  //PE THEN R (//PE TO GET YOU TO THE PROMPT
  63.              EDITOR, R TO RESET (CREATE) PROMPTS.DAT)
  64.              Also you can only have up to 200 symbols be it letters/numebers/
  65.              etc.. and keep in mind a color code counts.
  66. Da Mod :
  67.  
  68.  
  69. Disclaimer :  #define Disclaimer Here
  70.  
  71. ┌─────────────────────────┐
  72. │ =    Existing Code      │
  73. │ +    Add This Code      │
  74. │ -    Delete This Code   │
  75. │ %    Change This Code   │
  76. └─────────────────────────┘
  77.  
  78.  
  79. STEP 1 :  Backup yer source!   This is kinda long!!
  80.  
  81. STEP 2 :
  82.  
  83. /*===========================================================================*/
  84.  
  85. /* LOAD BBSUTL.C */
  86.  
  87. /* BlockRead this whole chunk of code at the end of the file...  */
  88.  
  89. /* START BLOCK READ */
  90.  
  91. void reset_promptfile(void)
  92. {
  93.   FILE *fptr;
  94.   int i;
  95.   char s[81];
  96.  
  97.   sprintf(s,"%sPROMPTS.DAT",syscfg.datadir);
  98.   npr("9Reset 2PROMPTS.DAT 1? 5");
  99.   if(yn()) {
  100.     nl();
  101.     pl("9Resetting 2PROMPTS.DAT");
  102.     fptr=fsh_open(s,"wb");
  103.     prompts.main[0]=0;
  104.     prompts.xfer[0]=0;
  105.     prompts.msg[0]=0;
  106.      fsh_write(&prompts,sizeof(prompts),1,fptr);
  107.      fsh_close(fptr);
  108.     nl();
  109.     pl("9Done1.");0
  110.   }
  111. }
  112.  
  113. void write_prompts(void)
  114. {
  115.       FILE *f;
  116.       char s[81];
  117.  
  118.       sprintf(s,"%sPROMPTS.DAT",syscfg.datadir);
  119.       f=fsh_open(s,"rb+");
  120.       if (f==NULL) {
  121.      npr("6■ 9Missing 2%s1!",s);0
  122.      return;
  123.       }
  124.       fsh_seek(f, 1, 0);
  125.       fsh_write(&prompts, sizeof(prompts),1, f);
  126.       fsh_close(f);
  127. }
  128.  
  129. void load_prompts(void)
  130. {
  131.       FILE *f;
  132.       char s[81];
  133.  
  134.       sprintf(s,"%sPROMPTS.DAT",syscfg.datadir);
  135.       f=fsh_open(s,"rb");
  136.       if (f==NULL) {
  137.      npr("6■ 9Missing 2%s1!\r\n",s);0
  138.      return;
  139.       }
  140.       fsh_seek(f, 1, 0);
  141.       fsh_read(&prompts, sizeof(prompts),1, f);
  142.       fsh_close(f);
  143. }
  144.  
  145.  
  146. void real_tl(int which)
  147. {
  148.   char tl1[81],tl2[81],tl3[81];
  149.   int it1,it2;
  150.  
  151.   it2=(((int)(timer()-timeon)+30)/60.0);
  152.   itoa(it2,tl2,10);
  153.   it1=(int)((nsl()+30)/60.0);
  154.   itoa(it1,tl1,10);
  155.   if (which==0)
  156.     sprintf(tl3,"%s",tl2);
  157.   if (which==1)
  158.     sprintf(tl3,"%s",tl1);
  159.   outstr(tl3);
  160. }
  161.  
  162.  
  163. void readprompt(char *string)
  164. {
  165.   int i;
  166.   char s[81];
  167.  
  168.   for (i=0;i<strlen(string);i++) {
  169.    if (string[i]!='@')
  170.        outchr(string[i]);
  171.     else {
  172.        i++;
  173.        switch (string[i]) {
  174.         case 'A': /* user's SL */
  175.              itoa(thisuser.sl,s,10);
  176.              outstr(s);
  177.              break;
  178.         case 'a': /* user's DSL */
  179.              itoa(thisuser.dsl,s,10);
  180.              outstr(s);
  181.              break;
  182.         case 'B': /* DIRconf name */
  183.              outstr(dirconfs[uconfdir[curconfdir].confnum].name);
  184.              break;
  185.         case 'b': /* DIRconf designator */
  186.                      sprintf(s,"%c",dirconfs[uconfdir[curconfdir].confnum].designator);
  187.              outstr(s);
  188.                      break;
  189.         case 'C': /* SUBconf name */
  190.              outstr(subconfs[uconfsub[curconfsub].confnum].name);
  191.              break;
  192.         case 'c': /* SUBconf designator */
  193.                      sprintf(s,"%c",subconfs[uconfsub[curconfsub].confnum].designator);
  194.              outstr(s);
  195.              break;
  196.         case 'D': /* directory name */
  197.              outstr(directories[udir[curdir].subnum].name);
  198.              break;
  199.         case 'd': /* directory number */
  200.              outstr(udir[curdir].keys);
  201.              break;
  202.         case 'f': /* upload to download ratio */
  203.              sprintf(s,"%-6.3f",ratio());
  204.              outstr(s);
  205.              break;
  206.         case 'G': /* beep!  control-G */
  207.              outchr(7);
  208.              break;
  209.         case 'g': /* user's gold */
  210.              itoa(thisuser.gold,s,10);
  211.              outstr(s);
  212.              break;
  213.         case 'l': /* time left (minutes) */
  214.              real_tl(1);
  215.              break;
  216.         case 'M': /* current message number */
  217.              itoa(messagenumber,s,10);
  218.              outstr(s);
  219.              break;
  220.         case 'm': /* number of messages in sub */
  221.              itoa(nummsgs,s,10);
  222.              outstr(s);
  223.              break;
  224.         case 'n': /* user's name and number */
  225.              outstr(nam(&thisuser,usernum));
  226.              break;
  227.         case 'p': /* post to call ratio */
  228.              sprintf(s,"%-6.3f",
  229.              (double)thisuser.msgpost/(double)thisuser.logons);
  230.              outstr(s);
  231.              break;
  232.         case 'r': /* go to next line */
  233.              nl();
  234.              break;
  235.         case 'S': /* subboard name */
  236.              outstr(subboards[usub[cursub].subnum].name);
  237.              break;
  238.         case 's': /* subboard number */
  239.              outstr(usub[cursub].keys);
  240.              break;
  241.         case 't': /* user's timebank */
  242.                      sprintf(s,"%d",thisuser.banktime);
  243.              outstr(s);
  244.              break;
  245.         case 'T': /* Current Message's Title */
  246.              outstr(irt);
  247.              break;
  248.         case 'u': /* time used (minutes) */
  249.              real_tl(0);
  250.              break;
  251.         case 'x': /* ANSI escape character */
  252.              if (okansi())
  253.              outchr(27);
  254.              break;
  255.         case 'z': /* current baud rate */
  256.              outstr(curspeed);
  257.              break;
  258.         default : /* anything else */
  259.              outchr('@');
  260.              break;
  261.        }
  262.        }
  263.    }
  264. }
  265.  
  266. void editgiven(int which)
  267. {
  268.  char s[101],s1[101];
  269.  
  270.  if ((which<1) || (which>3))
  271.    return;
  272.     nl();
  273.     if (which==1) strcpy(s,"main");
  274.     if (which==2) strcpy(s,"read");
  275.     if (which==3) strcpy(s,"xfer");
  276.     sprintf(s1,"9Enter new 2%s 9prompt 1[2Enter1]=9abort 1:5 ",s);
  277.     pl(s1);
  278.     npr("1■ ");
  279.     inli(s,"",90,1);
  280.     if (s[0]) {
  281.         if (which==1) strcpy(prompts.main,s);
  282.         if (which==2) strcpy(prompts.msg,s);
  283.         if (which==3) strcpy(prompts.xfer,s);
  284.     }
  285.     write_prompts();
  286. }
  287.  
  288. void editprompts()
  289. {
  290.  char s[81], ch;
  291.  int done;
  292.  
  293.  done=0;
  294.  do {
  295.     nl();
  296.     sprintf(s,"217) 9Main Prompt 1: 2%s",prompts.main);
  297.     pl(s);
  298.     sprintf(s,"227) 9Msg Prompt  1: 2%s",prompts.msg);
  299.     pl(s);
  300.     sprintf(s,"237) 9Xfer Prompt 1: 2%s",prompts.xfer);
  301.     pl(s);
  302.     sprintf(s,"2R7) 9Reset 2PROMPTS.DAT");
  303.     pl(s);
  304.     sprintf(s,"2?7) 9Show 2PROMPTS.MSG");
  305.     pl(s);
  306.     sprintf(s,"2Q7) 9Quit");
  307.     pl(s);
  308.     nl();
  309.     npr("9Which 1: 5");
  310.     ch=onek("Q123R?");
  311.     switch (ch) {
  312.         case '1': editgiven(1); break;
  313.         case '2': editgiven(2); break;
  314.         case '3': editgiven(3); break;
  315.         case 'R': reset_promptfile(); break;
  316.         case '?': printfile("PROMPTS"); break;
  317.         case 'Q': done=1; break;
  318.     }
  319.   } while ((done==0) && (hangup==0));
  320. }
  321.  
  322. /* END BLOCK READ */
  323.  
  324. /* SAVE BBSUTL.C */
  325.  
  326. /*===========================================================================*/
  327.  
  328. STEP 3:
  329.  
  330. /* OPEN BBS.C and make the following changes... */
  331.  
  332.  
  333. =void mainmenu(void)
  334. ={
  335. =  char *s, s1[81], s2[81], ch;
  336. %  int i, ac;                 // delete useconf
  337. =  long l;
  338. =
  339. =  s2[0]=0;
  340. =  if (usub[cursub].subnum==-1) {
  341. =    cursub=0;
  342. =    if (usub[cursub].subnum==-1) {
  343. =      strcpy(s2,get_string(16));
  344. =    }
  345. =  }
  346. =
  347. =  write_inst(INST_LOC_MAIN,usub[cursub].subnum,INST_FLAGS_ONLINE);
  348. =
  349. +  load_prompts();
  350. =  tleft(1);
  351. =  if ((sysstatus_expert & thisuser.sysstatus)==0)
  352. =    printmenu(0);
  353.  
  354. =  nl();
  355. =  nl();
  356. =  tleft(1);
  357.  
  358. -  useconf=((subconfnum>1) && okconf(&thisuser));
  359.  
  360. =#ifdef OPT_EXTRA_COLOR
  361. =  npr("1T 0- 1%s\r\n",ctim(nsl()));0
  362. -  sprintf(s1,"7[1Conf %c7] [1%s7]",subconfs[uconfsub[curconfsub].confnum].designator,
  363. -    stripcolors(subconfs[uconfsub[curconfsub].confnum].name));
  364. -  if (s2[0]==0)
  365. -    sprintf(s2,"7[1%s%s7] [1%s7]0 : 2",0
  366. -      useconf?get_string(1398):"",
  367. -      usub[cursub].keys,
  368. -      stripcolors(subboards[usub[cursub].subnum].name));
  369. =#else
  370. =  npr("T - %s\r\n",ctim(nsl()));
  371. -  sprintf(s1,"[Conf %c] [%s]",subconfs[uconfsub[curconfsub].confnum].designator,
  372. -    stripcolors(subconfs[uconfsub[curconfsub].confnum].name));
  373. -  if (s2[0]==0)
  374. -    sprintf(s2,"[%s%s] [%s] :",
  375. -      useconf?get_string(1398):"",
  376. -      usub[cursub].keys,
  377. -      stripcolors(subboards[usub[cursub].subnum].name));
  378. =#endif
  379. =
  380. -  if (useconf) {
  381. -    ansic(2);
  382. -    pl(s1);
  383. -  }
  384. -  prt(2,s2);
  385. +  readprompt(prompts.main);
  386. =  helpl=1;
  387. =  s=mmkey(0);
  388. =  helpl=0;
  389.  
  390.  
  391. /* On down, search for and add this */
  392.  
  393. =    if ((strcmp(s,"BOARDEDIT")==0) || (strcmp(s,"BE")==0)) {
  394. =      write_inst(INST_LOC_BOARDEDIT,0,INST_FLAGS_ONLINE);
  395. =      sysoplog(get_stringx(1,2));
  396. =      boardedit();
  397. =    }
  398. +    if ((strcmp(s,"PROMPTEDIT")==0) || (strcmp(s,"PE")==0)) {
  399. +      write_inst(INST_LOC_PROMPTEDIT,0,INST_FLAGS_ONLINE);
  400. +      sysoplog("Entered Prompt Editor");
  401. +      editprompts();
  402. +    }
  403. =    if ((strcmp(s,"CHAINEDIT")==0) || (strcmp(s,"CE")==0)) {
  404.  
  405.  
  406. /*===========================================================================*/
  407.  
  408. STEP 4 :
  409.  
  410. /* Still in BBS.C */
  411. /* Goto void dlmainmenu (... and make the following changes... */
  412.  
  413.  
  414. =void dlmainmenu(void)
  415. ={
  416. =  char *s, s1[81],s2[81],ch;
  417. %  int i,i1,i2,abort,next,ac;   // delete useconf
  418. =  messagerec m;
  419.  
  420. =  s2[0]=0;
  421. =  if (udir[curdir].subnum==-1) {
  422. =    curdir=0;
  423. =    if (udir[curdir].subnum==-1) {
  424. =      strcpy(s2,get_string(32));
  425. =    }
  426. =  }
  427. =
  428. =  write_inst(INST_LOC_XFER,udir[curdir].subnum,INST_FLAGS_ONLINE);
  429. =
  430.  
  431. +  load_prompts();
  432. =  tleft(1);
  433. =  if ((sysstatus_expert & thisuser.sysstatus)==0)
  434. =    printmenu(3);
  435. =
  436. =  nl();
  437. =  nl();
  438. =  tleft(1);
  439. =
  440. -  useconf=((dirconfnum>1) && okconf(&thisuser));
  441. =
  442. =#ifdef OPT_EXTRA_COLOR
  443. =  npr("1T 0- 1%s\r\n",ctim(nsl()));0
  444. -  sprintf(s1,"7(1Conf %c7)0-7(1%s7)",dirconfs[uconfdir[curconfdir].confnum].designator,
  445. -    stripcolors(dirconfs[uconfdir[curconfdir].confnum].name));
  446. -  if (s2[0]==0)
  447. -    sprintf(s2,"7(1%s%s7)0-7(1%s7)0 : 2",0
  448. -      useconf?get_string(1399):"",
  449. -      udir[curdir].keys,
  450. -      stripcolors(directories[udir[curdir].subnum].name));
  451. =#else
  452. =  npr("T - %s\r\n",ctim(nsl()));
  453. -  sprintf(s1,"(Conf %c)-(%s)",dirconfs[uconfdir[curconfdir].confnum].designator,
  454. -    stripcolors(dirconfs[uconfdir[curconfdir].confnum].name));
  455. -  if (s2[0]==0)
  456. -    sprintf(s2,"(%s%s)-(%s) :",
  457. -      useconf?get_string(1399):"",
  458. -      udir[curdir].keys,
  459. -      stripcolors(directories[udir[curdir].subnum].name));
  460. =#endif
  461. -  if (useconf) {
  462. -    ansic(2);
  463. -    pl(s1);
  464. -  }
  465. -  prt(2,s2);
  466. +  readprompt(prompts.xfer);
  467. =  helpl=2;
  468. =  s=mmkey(1);
  469.  
  470.  
  471. /* SAVE BBS.C */
  472.  
  473. /*===========================================================================*/
  474.  
  475. STEP 5 :
  476.  
  477. /* LOAD MSGBASE.C */
  478. /* Down to void read_message, add the indicated line. */
  479.  
  480. =void read_message(int n, int *next, int *val)
  481. ={
  482. =  char s[100];
  483. =  postrec p;
  484. =  int abort,a,nn;
  485. =  slrec ss;
  486. =
  487. =  nl();
  488. +  messagenumber=n;
  489. =  abort=0;
  490. =  *next=0;
  491. =  outchr(12);
  492. =#ifdef OPT_EXTRA_COLOR
  493.  
  494. /* SAVE MSGBASE.C /*
  495.  
  496. /*===========================================================================*/
  497.  
  498. Step 6 :
  499.  
  500. /* LOAD MSGBASE1.C */
  501. /* in  void scan(int msgnum, int optype, int *nextsub) make the following
  502.    changes */
  503.  
  504.  
  505.  
  506. =    write_inst(INST_LOC_SUBS, usub[cursub].subnum, INST_FLAGS_ONLINE);
  507. =    switch(optype) {
  508. =      case 0: /* Read Prompt */
  509. -#ifdef OPT_EXTRA_COLOR
  510. -        sprintf(s,"1%s0:7(11-%u,^%u7)1,? 0: 2",get_string(678),0
  511. -          nummsgs,msgnum);
  512. -#else
  513. -        sprintf(s,"%s:(1-%u,^%u),? :",get_string(678),
  514. -          nummsgs,msgnum);
  515. -#endif
  516. =
  517. =        nl();
  518. +        nmsg=msgnum;
  519. =        if (express) {
  520. =          s[0]=0;
  521. =          nl();
  522. =          nl();
  523. =        } else {
  524. -#ifdef OPT_EXTRA_COLOR
  525. -          sprintf(s1,"7[1%s7] [1%s7]",usub[cursub].keys,0
  526. -            subboards[usub[cursub].subnum].name);
  527. -#else
  528. -          sprintf(s1,"[%s] [%s]",usub[cursub].keys,
  529. -            subboards[usub[cursub].subnum].name);
  530. -#endif
  531. =
  532. =          ansic(2);
  533. -          pl(s1);
  534. -          prt(2,s);
  535. =
  536. +      readprompt(prompts.msg);
  537. =          helpl=16;
  538. =          input(s,3);
  539. =          resynch(cursub, &msgnum, NULL);
  540.  
  541. /* SAVE MSGBASE1.C */
  542.  
  543. /*===========================================================================*/
  544.  
  545. STEP 7 :
  546.  
  547. /*  LOAD LILO.C */
  548. /* In void logon(... make the following changes.. */
  549.  
  550.  
  551. =  if (ss!=NULL)
  552. =    farfree(ss);
  553. %  if (live_user) {         // added {
  554. =    read_automessage();
  555. +    load_prompts();
  556. +  }
  557. =  timeon=timer();
  558. =  if (live_user)
  559. =    topscreen();
  560.  
  561. /*  SAVE LILO.C */
  562.  
  563. /*===========================================================================*/
  564. STEP 8 :
  565.  
  566. /* LOAD MULTINST.C */
  567.  
  568. /* in void make_inst_str(short wi, unsigned char *ss) make the following
  569.    changes */
  570.  
  571. =    case INST_LOC_WFC:
  572. =      sprintf(s1,"%-25.25s",get_string(1402));
  573. =      break;
  574. +    case INST_LOC_PROMPTEDIT:
  575. +      sprintf(s1,"%-25.25s","Prompt Editor");
  576. +      break;
  577. =    default:
  578. =      sprintf(s1,"%-25.25s",get_string(1403));
  579. =      break;
  580.  
  581. /* block read this at the end of the file */
  582.  
  583. int fsh_seek(FILE *stream, long offset, int whence)
  584. {
  585.  
  586.   if (stream == NULL) {
  587.     sysoplog("\r\n6Attempted to fseek in closed file.\r\n");0
  588.     return(0);
  589.   }
  590.   return(fseek(stream, offset, whence));
  591. }
  592.  
  593. /* SAVE MULTINST.C */
  594.  
  595. /*===========================================================================*/
  596.  
  597. STEP 10 :
  598.  
  599. /* LOAD VARDEC.H */
  600.  
  601. /* near the top, add the indicated line */
  602.  
  603. =#define INST_LOC_BIXFER       44
  604. =#define INST_LOC_NETLIST      45
  605. +#define INST_LOC_PROMPTEDIT 5000
  606. =#define INST_LOC_WFC       65535
  607.  
  608. /* now search for and edit the following */
  609.  
  610. =} arcrec;
  611. =
  612. +typedef struct {
  613. +    char  main[200],         /* prompts */
  614. +           xfer[200],
  615. +           msg[200];
  616. } promptrec;
  617. =
  618. =
  619. =/* STATIC SYSTEM INFORMATION */
  620. =typedef struct {
  621.  
  622.  
  623. /* SAVE VARDEC.H */
  624.  
  625. /*===========================================================================*/
  626.  
  627. STEP 11:
  628.  
  629. /* LOAD VARS.H */
  630. /*find the __EXTRN__ int delcrations and add the two below ints */
  631.  
  632. messagenumber,nmsg; //Add these to the end of the list
  633.  
  634. /* search for the following and add the indicated line */
  635.  
  636. =__EXTRN__ userrec thisuser;
  637. +__EXTRN__ promptrec prompts;    /** ADD **/
  638. =__EXTRN__ configrec syscfg;
  639. =__EXTRN__ configoverrec syscfgovr;
  640. =__EXTRN__ statusrec status;
  641.  
  642. /*SAVE VARS.H */
  643.  
  644. /*===========================================================================*/
  645.  
  646. STEP 12:
  647.  
  648. /* BlockRead the following to a file called PROMPTS.MSG in you G-Files dir */
  649.  
  650.                         2Dream06c.Mod 9Prompt Commands0
  651.  
  652.           1@9C 1- 9SubConf Name                 1@9B 1- 9DirConf Name0
  653.           1@9c 1- 9SubConf Designator           1@9b 1- 9DirConf Designator0
  654.           1@9S 1- 9SubBoard Name                1@9u 1- 9Time Used 1(9Minutes1)0
  655.           1@9s 1- 9SubBoard Number              1@9l 1- 9Time Left 1(9Minutes1)0
  656.           1@9D 1- 9Directory Name               1@9n 1- 9User1'9s Name and Number0
  657.           1@9d 1- 9Directory Number             1@9r 1- 9Goto Next Like0
  658.           1@9z 1- 9Current Baud Rate            1@9x 1- 9ANSI Escape Character0
  659.           1@9G 1- 9Beep                         1@9g 1- 9User1'9s Gold0
  660.           1@9A 1- 9User1'9s SL                    1@9M 1- 9Current Message Number0
  661.           1@9a 1- 9User1'9s DSL                   1@9m 1- 9Number of Messages in Sub0
  662.           1@9f 1- 9Upload1/9Download Ratio        1@9p 1- 9Post1/9Call Ratio0
  663.           1@9T 1- 9Current Message Title        1@9t 1- 9User1'9s BankTime0
  664.  
  665. /*===========================================================================*/
  666.  
  667. STEP 13 :                   Make FCNS and then...
  668.  
  669.                 This part is NO fun!!!!!   Recompile.  Ya gotta recompile the
  670.                       WHOLE BBS since VARS.H and VARDEC.H  was edited
  671.  
  672.  
  673.     AND REMEMBER>>>>   FIRST TIME USING IT...  | THEN R  !!!!!
  674.         OR, uudecode this chunk and place it in your DATA dir.
  675.         These are the prompts I currently use... block read them
  676.         to disk and UUDecode 'em.
  677.  
  678. section 1 of uuencode 5.15 of file prompts.dat    by R.E.M.
  679.  
  680. begin 644 prompts.dat
  681. M``,W6P,Q0&,#-UT@6P,Q0$,#-UT#,$!R`S=;`S%`<P,W72!;`S%`4P,W72`#
  682. M,3H@`S<`````````````````````````````````````````````````````
  683. M`````````````````S=;`S%`8@,W72!;`S%`0@,W70,P0'(#-UL#,4!D`S==
  684. M(%L#,4!$`S==(`,Q.B`#-0``````````````````````````````````````
  685. M`````````````````````````````S=;`S%`8@,W72!;`S%`0@,W74!R`S=;
  686. M`S%`9`,W72!;`S%`1`,W72`#.3H@`S$``S==(`,Q.B`#-0!=(`,Q.B`#-0`#
  687. M,4!M`S==(`,Q.B`#-0``````````````````````````````````````````
  688. M````````````````````````````````````````````````````````````
  689. M```````````````````````````````````````````````````````#-UL#
  690. M,4!S`S==(%L#,4!4`S==0'(#-UL#,4!3`S==(`,W6P,Q0$T#-R\#,4!M`S==
  691. M(`,Y.B`#-P`Q````````````````````````````````````````````````
  692. M````````````````````````````````````````````````````````````
  693. M````````````````````````````````````````````````````````````
  694. 2``````````````````````T*
  695. `
  696. end
  697. sum -r/size 44351/860 section (from "begin" to "end")
  698. sum -r/size 61994/603 entire input file
  699.  
  700.  
  701.                                   Enjoy!
  702.  
  703. Mod versions A-B by Unca Scrooge
  704. Mod version  C   by Dale Cooper 1.10118WWIVnet 1.6272ICE/TERRAnets
  705.