home *** CD-ROM | disk | FTP | other *** search
/ ftp.wwiv.com / ftp.wwiv.com.zip / ftp.wwiv.com / pub / HATCH / WWIVNEWS.ZIP / 9301_3.NWS < prev    next >
Text File  |  1993-01-23  |  22KB  |  499 lines

  1. ───────────────┬─────────────────────────────────────────────┬───────────────
  2.                │          Filo's Mod of the Month            │
  3.                │              by Filo (1@5252)               │
  4.                └─────────────────────────────────────────────┘
  5.  
  6. [Editor's nOTE: the past three months on the Modnet have seen what most 
  7. WWIV Sysops have come to consider the "pre-release drought" in the advance
  8. of WWIV 4.22's release. Most mods that appear during this period usually 
  9. take the form of bug fixes for previous releases, or cosmetic updates of
  10. of mods designed for older releases of WWIV. The following Mod-of-The-Month 
  11. selection by Filo is the best of the few mods that have appeared during this
  12. period that could be considered "new and innovative" when compared to the
  13. rest of the Modnet submissions.]
  14.  
  15. ─────────────────────────────────────────────────────────────────────────────
  16.  
  17. The Mod-of-The-Month Selection represents my choice of what appears to be a 
  18. useful, practical mod to WWIV. It does not mean it is the best mod posted or 
  19. even that it works as I may not have tested it. Given the limitations of this
  20. media, uuencoded mods are NOT eligible for selection as mod-of-the-month. 
  21. Further, I tend to reject mods that have had a number of fixes to them.
  22.  
  23. ┌──────────────────────────────────────────────────────────Filo─header─(c)───┐
  24. │ Mod Name:      WAF016.MOD               Author:  Wafwot #2 @2632           │
  25. │ Difficulty:    Easy/Medium              Date:    Oct 1, 1992               │
  26. │ WWIV Version:  4.21a Tested, should work with past/future versions.        │
  27. │ Description:   Sends E-Mail to a new user from the sysop. This sends the   │
  28. │                new user E-Mail, using a file in Gfiles. Nice feature!      │
  29. └────────────────────────────────────────────────────────────────────────────┘
  30.  
  31. More Descriptive:
  32. ─────────────────
  33. Ok, I have logged on to other BBS' in the country (not WWIV) and when I have
  34. completed the newuser logon procedure, it tells me I have mail. I'm not sure, 
  35. but I think (VBBS) has this feature. This mail tells me about the sysop, some 
  36. features of the BBS, and/or other tidbits of useless <grin> information about 
  37. the BBS. It makes some of the less experienced users jump for joy, because they
  38. have mail on their first call... and you know how new users love to get mail!
  39.  
  40. Anyway, here it is. I have no idea if this has been done before, but I'd like 
  41. to think it was my idea. I have over 900 mods, dating back to 1990, and I 
  42. haven't seen ANYTHING like this. If it is someone else's idea, tough shit. I 
  43. didn't steal it from you. <grin> Ok, Let go...
  44.  
  45.  
  46. Step 1:
  47. ───────
  48. Backup.
  49.  
  50.  
  51. Step 2:
  52. ───────
  53. Load up VARS.H and add the 'echo_off' variable to the int and extern int lists.
  54. The examples below are from MY modded source, NOT an unmodded 'clean' source. 
  55. So, if you see some variables that you don't have, don't add them. Just add the
  56. 'echo_off' variable. Sorry, I deleted the clean source... for no apparent 
  57. reason. The 'echo_off' variable is used so that when you send the newuser 
  58. E-Mail automatically, the user does not see all the lines associated with 
  59. sending a load file via E-Mail. ie, File loaded into workspace, Saving...Mail 
  60. sent to User #0, etc. It makes it seemless and invisible.
  61.  
  62. int...
  63.     save_dos, screenbottom, screenlen, screenlinest, smwcheck,
  64.     statusfile, sysop_alert, tempio, topdata, topline, two_color,
  65.     userfile, usernum, useron, use_workspace, using_modem, wfc, x_only,
  66.     chat_calls, lastrandom, force_chat, echo_off;
  67.                             /* ^ ADD THIS */
  68.  
  69. ...and again a little further down in the externs...
  70.  
  71. extern int...
  72.     save_dos, screenbottom, screenlen, screenlinest, smwcheck,
  73.     statusfile, sysop_alert, tempio, topdata, topline, two_color,
  74.     userfile, usernum, useron, use_workspace, using_modem, wfc, x_only,
  75.     chat_calls, lastrandom, force_chat, echo_off;
  76.                             /* ^ ADD THIS */
  77.  
  78.  
  79. Step 3:
  80. ───────
  81. Save VARS.H and load up NEWUSER.C. This is the actual void that sends the 
  82. E-Mail. Block copy the whole void to the end of your NEWUSER.C file.
  83.  
  84. void newuser_mail(void)
  85. {
  86.   char title[61],s[81],mail[81];
  87.   messagerec msg;
  88.  
  89.   echo_off=0;                                      /* turns 'echo_off' */
  90.   title[0]=0;                                      /* clears the title */
  91.   strcpy(s,nam(&thisuser,usernum));                /* copy username to s */
  92.   sprintf(mail,"%sNEWFORM.MSG",syscfg.gfilesdir);  /* finds the form ltr */
  93.   load_workspace(mail,1);                          /* loads form ltr */
  94.   msg.storage_type=2;                              /* set mail storage */
  95.   inmsg(&msg,title,0,0,"E-Mail",0,s,0);             /* places ltr in mail */
  96.   sendout_E-Mail(title,&msg,0,usernum,0,1,1,0,0);   /* sends E-Mail */
  97.   ++thisuser.waiting;                              /* so newuser can read it */
  98.   echo_off=1;                                      /* turns echo back on */
  99. }
  100.  
  101.  
  102. Step 4:
  103. ───────
  104. This is where we will call the newuser_mail void. In NEWUSER.C, this is between
  105. where the user pressed 'Q' to continue after he filled in all of his 
  106. information, and before they have to re-enter their password. I liked it here 
  107. because sending the mail will take a some (not much) time, and it DOES say 
  108. 'Please wait...' while the BBS assigns a user number. This was just the obvious
  109. place.
  110.     ok=0;
  111.     newuser_mail();                             /* ADD ME */
  112.     topscreen();
  113.     do {
  114.       nl();
  115.       nl();
  116.       npr("Your user number is: %d.\r\n",usernum);
  117.       npr("Your password is: %s.\r\n",thisuser.pw); nl();
  118.  
  119.  
  120. Step 5:
  121. ───────
  122. Since we added a new void to NEWUSER.C, load up FCNS.H and add the new 
  123. prototype to the newuser.c section.
  124.  
  125. void input_comptype(void);
  126. void input_screensize(void);
  127. void newuser_mail(void);                       /* ADD ME */
  128. void input_pw(void);
  129. void input_ansistat(void);
  130.  
  131.  
  132. Step 6:
  133. ───────
  134. Save FCNS.H (and NEWUSER.C if you didn't already), and load up MSGBASE.C.
  135. Search for void load_workspace(blahblah) and make the following changes. Again,
  136. this is making it so the newuser DOES NOT see the printed lines associated with
  137. sending mail. Make the marked lines look like what is below. I indented my 
  138. lines, because I like to be neat. <grin>
  139.  
  140.   else
  141.     use_workspace=0;
  142.   nl();
  143.   if (echo_off) {                                             /* ADD */
  144.     pl("File loaded into workspace.");                        /* INDENT */
  145.     nl();                                                     /* INDENT */
  146.     if (!use_workspace)                                       /* INDENT */
  147.       pl("Editing will be allowed.");                         /* INDENT */
  148.   }                                                           /* ADD */
  149. }
  150.  
  151.  
  152. Step 7:
  153. ───────
  154. Now, still in MSGBASE.C, find void inmsg(blahblah) and make the following 
  155. changes. Again, all we are doing is adding if statements to avoid printing
  156. lines that we DON'T want printed with the newuser_mail. First, find the
  157. section of code that deals with entering a title. You can just block copy
  158. what I have here, or you can make the changes. Again, this came from my
  159. modded source, so it may not be exactly what 4.21a should be.
  160.  
  161.   if (echo_off) {                                               /* ADD ME */
  162.     nl();
  163.     helpl=6;
  164.     title[0]=0;
  165.     if (okansi()) {
  166.       prt(2,"Title: ");
  167.       mpl(60);
  168.       inputl(title,60);
  169.     } else {
  170.       pl("       (----------------------------------------------------------)");
  171.       outstr("Title: ");
  172.       inputl(title,60);
  173.     }
  174.   }                                                             /* ADD ME */
  175.  
  176. Then directly under this section of code, add this if statement. This is
  177. making a personalized title. A nice touch, if I don't say so myself.
  178.  
  179.  if (!echo_off) {
  180.     sprintf(title,"WELCOME %s!",thisuser.name);
  181.   }
  182.  
  183.  
  184. Step 8:
  185. ───────
  186. Further down in void inmsg(blahblah) in MSGBASE.C, find this section of code 
  187. and make the indicated changes/additions.
  188.  
  189.       save=exist(fnx);
  190.       if (save) {
  191.      if (echo_off) {                                         /* ADD ME */
  192.        pl("Reading in file...");                             /* INDENT */
  193.      }                                                       /* ADD ME */
  194.       }
  195.       use_workspace=0;
  196.  
  197.  
  198. Step 9:
  199. ───────
  200. Still further down, find this code, and make THESE changes.
  201.  
  202.       case anony_real_name:
  203.      real_name=1;
  204.      *anony=0;
  205.      break;
  206.     }
  207.     if (echo_off) {                                             /* ADD ME */
  208.       outstr("Saving...");                                      /* INDENT */
  209.     }                                                           /* ADD ME */
  210.     if (fsed) {
  211.       i5=open(fnx,O_RDONLY | O_BINARY);
  212.       l1=filelength(i5);
  213.     } else {
  214.  
  215.  
  216. Step 10:
  217. ────────
  218. And again.... further down in void inmsg, find this code, and make the
  219. indicated changes.
  220.  
  221.     farfree(b);
  222.     farfree(b1);
  223.   }
  224.   s2[0]=0;
  225.   if (echo_off) {                                               /* ADD ME */
  226.     strcpy(s,"Mail sent to ");                                  /* INDENT */
  227.   }                                                             /* ADD ME */
  228.   if (sy==0) {
  229.     read_user(un,&ur);
  230.     ++ur.waiting;
  231.     write_user(un,&ur);
  232.  
  233.  
  234. Step 11:
  235. ───────
  236. And now.... at the very bottom of void inmsg, make this indicated change.
  237.  
  238.   save_status();
  239.   if (!wfc)
  240.     topscreen();
  241.   if (echo_off)                                                 /* ADD ME */
  242.     pl(s);                                                      /* INDENT */
  243.   if (s2[0])
  244.     pl(s2);
  245. }
  246.  
  247. I know I didn't need some of those brackets, but I may add some stuff later,
  248. and they don't seem to effect anything.
  249.  
  250.  
  251. Step 12:
  252. ────────
  253. Ok, now just in case the newuser gets dumped off line, or they hangup on you in
  254. the middle of getting sent E-Mail from the newuser_mail void, we will add the 
  255. following line to LILO.C so that the echo_off variable equals 1. 'echo_off' 
  256. must ALWAYS equal 1 except when send a newuser mail from this mod. If echo_off
  257. equals 0, then your regular, registered user will not see the 'Saving...Mail 
  258. sent to Jest #1' lines that they normally do. This will force echo_off to be 1
  259. for EVERY caller. In void getuser(void), near the top, add this one line.
  260.  
  261.   ok=0;
  262.   checkit=1;
  263.   okmacro=0;
  264.   echo_off=1;                                                   /* ADD ME */
  265.   actsl=syscfg.newusersl;
  266.   if ((!net_only) && (incom)) {
  267.     sprintf(s,"%sWELCOME.ANS",syscfg.gfilesdir);
  268.     if (exist(s)) {
  269.       nl();
  270. #ifdef OLD
  271.  
  272. Step 13:
  273. ────────
  274. And again, just for safety, add this one line in XINIT.C. This will make 
  275. echo_off equal 1 whenever the BBS is loaded up. In void init(void) in XINIT.C 
  276. find this code and add the indicated line.
  277.  
  278. #ifdef EMS_XMS
  279.   if (_OvrInitEms(0,0,16)!=0)
  280.     _OvrInitExt(0L,0);
  281. #endif
  282.  
  283.   userfile=-1;
  284.   configfile=-1;
  285.   statusfile=-1;
  286.   dlf=-1;
  287.   curlsub=-1;
  288.   curldir=-1;
  289.   echo_off=1;                                                   /* ADD ME */
  290.   setvect(save_dos, getvect(INT_REAL_DOS));
  291.   oldx=0;
  292.  
  293.  
  294. Step 14:
  295. ────────
  296. That should do it. Save all files and compile/link. You will compile the whole 
  297. BBS, since we added a variable to VARS.H.
  298.  
  299. Step 15:
  300. ────────
  301. You need to create a NEWFORM.MSG file. This is the file that is sent to the 
  302. newuser. I have installed an MCI mod into our BBS, so mine is kinda full of MCI
  303. commands that place the newuser's name, and other info into the mail. It really
  304. looks nice when a newuser logs on, and they get mail that looks as though the 
  305. sysop wrote it to them! I recommend a good MCI mod to go along with this mod. 
  306. Below is my NEWFORM.MSG. You can use it, or create your own. (I removed the 
  307. MCI codes from it, and changed it around for one sysop... The Evening Post has
  308. two.)
  309.  
  310. ─────────────────────────────────────────────────────────────────────────────
  311.  
  312. Welcome to The Evening Post!
  313.  
  314. You have successfully logged onto one of Whidbey Island's most exciting
  315. bulletin boards. Thanks for calling!
  316.  
  317. As you can see, The Evening Post is setup to automatically send you 
  318. E-Mail. You should respond to this mail, by pressing 'A' at the
  319. E-Mail prompt (Mail {?}).
  320.  
  321. With most prompts, pressing a '?' will get you help. You will be 
  322. presented with a menu of available commands for the prompt. It's
  323. really quite simple. If you do have trouble, press and hold the 
  324. control key (Ctrl) while pressing the letter 'O' key. (CTRL-O). 
  325. This will give you context-sensitive help throughout the BBS, any-
  326. where you may be. 
  327.  
  328. If you want to change any features of your new account, just press 'D' 
  329. to go to D:efaults. Here, you can change just about anything 
  330. pertaining to your account.
  331.  
  332. You now have full access to all of the BBS's message subs, file areas,
  333. and external games. I am always adding new stuff to the BBS, so
  334. call often!
  335.  
  336. If you have any questions, please press 'F' and send feedback to me.
  337. I will be sure to answer it. I like hearing from all my users!
  338.  
  339. If you think I can improve the BBS, please let me know how, and I will
  340. try to implement your suggestions.
  341.  
  342. Enjoy your visit, and call back often, you're always welcome!
  343.  
  344. ─────────────────────────────────────────────────────────────────────────────
  345.  
  346. Try to keep it short. Too long, and the user gets bored. If you use this mod, 
  347. PLEASE, PLEASE, PLEASE send me E-Mail. I'd like to know what you think even if 
  348. you hate it....
  349.  
  350. ───────────────┬─────────────────────────────────────────────┬───────────────
  351.                │     WWIVnet-Compatible Network Listing      │
  352.                │              Compiled 1/7/93                │
  353.                │           By Red Dwarf (1@6264)             │
  354.                └─────────────────────────────────────────────┘
  355.  
  356. [Editor's nOTE: This column will be a new feature of WWIVnews starting with
  357. this issue. If you are part of a WWIV-compatible network that is not listed
  358. below, have your Network Coordinator contact 1@6264 about having your
  359. network listed]
  360.  
  361. ─────────────────────────────────────────────────────────────────────────────
  362. Network Name            Ident.  WWIVnet Node    IceNET Node     WWIVLink Node
  363. Hosting BBS                     Hosting BBS Phone Number
  364. ─────────────────────────────────────────────────────────────────────────────
  365. CaffNet                         @3101
  366. Star-Lit BBS                    301-229-2957
  367. ─────────────────────────────────────────────────────────────────────────────
  368. CHAOSnet                        @4954
  369. The Elm Street BBS              419-422-9742
  370. ─────────────────────────────────────────────────────────────────────────────
  371. EliteNET                                        @2462
  372. Alley Closed BBS                214-238-8121
  373. ─────────────────────────────────────────────────────────────────────────────
  374. ExpressNET                      @6754
  375. Data Express                    617-247-3383
  376. ─────────────────────────────────────────────────────────────────────────────
  377. NorthStarNET            #&      @6259           @6259           @16259
  378. AeroTech                        612-935-3505
  379. ─────────────────────────────────────────────────────────────────────────────
  380. NukeNet                                                         @14063
  381.  
  382. ─────────────────────────────────────────────────────────────────────────────
  383. RATnet                  ^&                      @6255
  384. Rat Land                        612-647-9530
  385. ─────────────────────────────────────────────────────────────────────────────
  386. SOLARnet                #$&^    @3484           @3454           @13495
  387. Rap City [GSA]                  314-963-7960         
  388. ─────────────────────────────────────────────────────────────────────────────
  389. StarNet                         @3956                  
  390. Diamond's BBS                   319-277-0166
  391. ─────────────────────────────────────────────────────────────────────────────
  392. TeenNet                                         @4053           @14064
  393. Central Station                 410-315-9854
  394. ─────────────────────────────────────────────────────────────────────────────
  395. TerraNET                #^&     @8861           @8857
  396. Blue Thunder                    818-848-4101
  397. ─────────────────────────────────────────────────────────────────────────────
  398. TestNet                         @19960          @9994           
  399. Test Site BBS                   919-760-4811
  400. ─────────────────────────────────────────────────────────────────────────────
  401. TheLink                 L       @4718
  402. Dislexia BBS                    407-851-9531
  403. ─────────────────────────────────────────────────────────────────────────────
  404. WWIVweb                 #       @5813           @5802
  405. Sanctuary                       508-892-8529
  406. ─────────────────────────────────────────────────────────────────────────────
  407. *.Net                                           @2459
  408. Reynard's Keep                  214-406-1264
  409. ─────────────────────────────────────────────────────────────────────────────
  410. KEY:
  411. ! ─ Registered Wayne Bell's NETUP software
  412. # ─ Uses other automatic update software
  413. $ ─ Long Distance assistance available
  414. * ─ Restictions Apply to this network
  415. & ─ Application available in master file (NmmddyyA.ZIP)(Net Applicatons)
  416. ^ ─ High Speed Connections (9600+)
  417. % ─ PcPursuit
  418. L ─ Local Network (within area code)
  419.  
  420. Please inform me of any errors in your network's listing.
  421.  
  422. Red Dwarf:
  423. 1@6264 WWIVnet
  424. 1@6256 IceNET
  425.  
  426. The File Pile BBS:
  427. 612-351-0144  2400 Baud [ISB]
  428.  
  429. ───────────────┬─────────────────────────────────────────────┬───────────────
  430.                │             Dateline: @#$*()#!              │
  431.                │     Editor's Notes by Omega Man (1@5282)    │
  432.                └─────────────────────────────────────────────┘
  433.  
  434. ...Ok, ok, so it's been almost three months since the last issue of WWIVnews
  435. was distributed across WWIVnews. Judging from the amount of mail I've gotten
  436. regarding the status of the next issue, I suppose it's safe to say that a
  437. LOT of you have been virtually going through withdrawals of some sort without
  438. a WWIVnews fix. Most of you, naturally, want an explanation of some sort as
  439. to what caused the delays, right?
  440.  
  441. ...Well, without going into some really personal matters, I'll simply say that
  442. WWIVnews was delayed for almost three months because yours truly got tied up
  443. with matters that were job-related and somewhat unforseen. These delays were
  444. further hampered by yet another episode of "OM vs. The Hard Drive from Hell",
  445. and combined with a new job that took up 78% of my free time. Adding to this,
  446. oddly enough, was the presence of a 5'11" stunning brunette who measured in at
  447. 36-25-38 who proceeded to occupy the remaining 22% of my spare time. The fact
  448. that she's got a really cute little tyke of a son with a case of the "terrible
  449. twos" didn't help - or hurt - matters either.
  450.  
  451. ...Fine. So I violated rule #1 of the Computer Geek's Code of Honor. I let a
  452. woman come between myself and my computer. So sue me, eh? I apologize for
  453. the delays regarding work and the hard drive crash, but as far as that other
  454. 22% of wasted time goes I'd gladly waste it again given the chance to choose
  455. my own ending. In fact, after I finish sending this to Wayne...heh, heh, heh!
  456.  
  457. ...In any case, WWIVnews is back on track now. The next issue will definitely
  458. be out February 25th as scheduled, and will probably be dedicated to all the
  459. fallout that will surround the release of 4.22 - and probably 4.22a, depending
  460. on how good the beta testers were this time around. The previously-scheduled
  461. special issue on WWIV-compatible networking has been delayed for a couple of
  462. issues to allow a couple of submissions to be rewritten to cover 4.22's
  463. gatewaying features.
  464.  
  465. ...If anyone would care to submit articles for WWIVnews regarding either of
  466. these particular topics, or would like to contribute to WWIVnews in any way,
  467. shape or form, feel free to contact me via E-Mail at WWIVnet 1@5282. The
  468. WWIVnews Writer's Guide revision will be available shortly as well, and will
  469. contain an updated suggested assignment listing. This was intended to be
  470. included with the 4.22 basic package, but those pesky time constraints kept
  471. the Guide from making Wayne's deadline.
  472.  
  473. ...Finally, an aside nOTE to all the @1's of the various WWIV-based networks:
  474. I'll be contacting each of you regarding a synopsis of what your respective
  475. network is all about shortly. Please take the time to submit something about
  476. your network, regardless of how private you wish your network to be. For 
  477. everyone to get a better global picture of what's happening to WWIV networking,
  478. your cooperation will be extremely beneficial for the entire WWIV community of
  479. sysops and users.
  480.  
  481. ┌───────────────────────────────────────────────────────────────────────────┐
  482. │                             Closing Credits                               │
  483. ├───────────────────────────────────────────────────────────────────────────┤
  484. │ WWIVnews is an independent newsletter NORMALLY published monthly as a     │
  485. │ service to the WWIV community of sysops and users. The opinions & reviews │
  486. │ expressed herein are the expressed views of the respective writers, & do  │
  487. │ not necessarily reflect those of the WWIVnews staff. Reproduction in whole│
  488. │ or in part is allowed provided credits are given. All rights reserved.    │
  489. ├───────────────────────────────────────────────────────────────────────────┤
  490. │ The source site for WWIVnews is the Klingon Empire BBS (512-459-1088),    │
  491. │ WWIVnet node @5282. Requests for information regarding articles and other │
  492. │ editorial submissions, as well as back issue requests and the WWIVnews    │
  493. │ Writer's Guide, can be sent in e-mail to the WWIVnews editor, c/o 1@5282. │
  494. ├───────────────────────────────────────────────────────────────────────────┤
  495. │            WWIV and WWIVnet, copyright 1986,1990 by Wayne Bell            │
  496. │  Any product or company mentioned or reviewed herein are copyrighted of   │
  497. │  their respective owners, creators, and other corporate pseudoentities.   │
  498. └───────────────────────────────────────────────────────────────────────────┘
  499.