home *** CD-ROM | disk | FTP | other *** search
/ Beijing Paradise BBS Backup / PARADISE.ISO / software / BBSDOORW / UOTD203C.ZIP / UOTD.DOC next >
Text File  |  1980-01-04  |  8KB  |  181 lines

  1. User Of The Day version 2.03c
  2. Copyright 1989 by John Parlin
  3. A QuickBBS User Of The Day lottery program
  4.  
  5. Description
  6. -----------
  7. User Of The Day (henceforth known as UOTD) is a door program written for
  8. QuickBBS.  Basically, it's a "drawing" or "lottery" program.  It selects,
  9. at random, one user from the user file each day to be the winner.  If
  10. that user logs on during that day, he/she will be awarded a prize of X
  11. number of minutes (Sysop definable) in addition to the user's daily
  12. time limit.  Note: UOTD will never select the Sysop (record #0) as the
  13. winner.
  14.  
  15. Some Assembly Required
  16. ----------------------
  17. It's pretty easy to setup as long as you're familiar with type 15 exits
  18. and batch file writing.
  19.  
  20. You *MUST* use a type 15 exit!  A type 7 will not allow altering of a user's
  21. time.  I would recommend an automatic type 15 execution from the TOP
  22. menu.  The command parameters are:
  23.  
  24.                        UOTD [/An] [/Ln] [/R] [/C]
  25.  
  26. Where: /A is an optional parameter which specifies the award value to be used.
  27.        This is the number of minutes a winner will be awarded.  It can be
  28.        any number between 1 and 999.  If ommitted, the default value of
  29.        30 minutes will be used.
  30.  
  31.        /L is an optional parameter which specifies the minimum security level
  32.        that is eligible to be chosen as a winner.  This can be any number
  33.        between 1 and 32767.  The default value is 1 and if this parameter
  34.        is ommitted, anyone except record 0 may be chosen as a winner.
  35.  
  36.        /R is an optional parameter which specifies that users may view the
  37.        program repeatedly.  In the previous release, users could only view
  38.        the program once per day.  Specifying this parameter will allow
  39.        users to view the program repeatedly.  If the user is a winner, he/she
  40.        can still only collect an award once.  UOTD will tell them that they
  41.        have already collected their winnings.  If ommitted, users will only
  42.        be able to view the program once per day.
  43.  
  44.        /C is an optional parameter which specifies that UOTD is NOT to run
  45.        but rather to check the date file to see if the date has been changed.
  46.        This option was added to help Sysops in setting up UOTD to automatically
  47.        run off the TOP menu but only once a day.
  48.  
  49.        If this parameter is received, whether alone or with other valid
  50.        parameters, the program will NOT execute for viewing by an online
  51.        user.  It will check the date file.  If it does not exist or does not
  52.        match the current date, UOTD will exit with a DOS errorlevel of 10 set.
  53.        If the date file is found and the date has not changed, UOTD will exit
  54.        with a DOS errorlevel of 0 set.
  55.  
  56.        This is to be used in conjunction with a SETFLAG utility.  Here's a
  57.        scenario:
  58.  
  59.        A Sysop wants to run UOTD before the user reaches the TOP menu.  But,
  60.        the Sysop only wants it to run once per day, per user, to save logon
  61.        time.  Here's what the Sysop did.
  62.  
  63.        Edited TOP.MNU.  Made the first entry an auto-execute type 15
  64.        containing the appropriate errorlevel to run UOTD.  Made the entry
  65.        available only to users with the C5 flag set to ON.  And, in the first
  66.        field of the type 15 menu (the display field), he put in a semicolon
  67.        (;) so that the cursor would not jump down a line.  Here's how the
  68.        batch file that ran UOTD then looked:
  69.  
  70.        if errorlevel 90 goto UOTD
  71.        ....
  72.        ..
  73.  
  74.        :UOTD
  75.          UOTD /A30 /L50
  76.          SETFLAG C5 OFF EXIT
  77.        Goto Restart_Quick
  78.        ....
  79.        ..
  80.  
  81.        So when a user who's C5 flag was set to on sees UOTD, the next thing
  82.        to happen (before control returns to QuickBBS) is that the user's C5
  83.        flag was set to OFF.  Now when the user calls back later that same
  84.        day, his C5 flag will be off and he will go straight to the
  85.        "normal" TOP menu of the system.
  86.  
  87.        Next, the Sysop edited his batch file some more.  Whenever a caller
  88.        logs off, the Sysop takes a few seconds to run UOTD to check to see
  89.        if the date has changed.  If it has, he wants to turn everyone's
  90.        C5 flag back on again.  So, at the top of his batch file before
  91.        QuickBBS or a front end is restarted to wait for another call, he
  92.        inserted the lines:
  93.  
  94.        :BatchStart
  95.        C:
  96.        Cd \QuickBBS
  97.        UOTD /C
  98.          if errorlevel 10 goto SetFlag
  99.        goto StartBBS
  100.  
  101.        :SetFlag
  102.           SetFlag C5 ON ALL
  103.        goto StartBBS
  104.  
  105.        :StartBBS
  106.        { Here's where your front end mailer or BBS get called }
  107.  
  108.        Now, if the date has changed since the last UOTD was chosen, UOTD
  109.        will exit with an errorlevel of 5 set so you know it's time switch
  110.        the user C5 flags back on.
  111.  
  112.        End of scenario.
  113.  
  114.        Now I know that you can simply run an event say at midnight to reset
  115.        all the C5 flags (or whatever flag you choose to use).  But if you've
  116.        been a Sysop for a while, you know that events get missed occasionally.
  117.        Running UOTD with the /C parameter after each user logs off, doesn't
  118.        take a lot of time and it's a reliable way of checking to see if the
  119.        date has changed.
  120.  
  121.        Command line examples:
  122.  
  123.        UOTD /A45 /L100 /R       Uses an award value of 45 minutes.
  124.                                 Requires a minimum security level of 100
  125.                                 to be eligible to win.
  126.                                 Players may view the program repeatedly.
  127.  
  128.        UOTD                     Uses an award value of 30 minutes (default).
  129.                                 Requires a minimum security level of 1
  130.                                 to be eligible to win.
  131.                                 Players may view the program once daily.
  132.  
  133.        UOTD /C                  The program doesn't run for viewing purposes.
  134.                                 Instead, UOTD checks the UOTD.DTE file to see
  135.                                 if a) it exists and b) the date has changed.
  136.                                 If it does not exist or the date has changed,
  137.                                 a DOS errorlevel of 5 is returned.  If it
  138.                                 does exist and the date has not changed, a
  139.                                 DOS errorlevel of 1 is returned.
  140.  
  141. Once the program is started, an ASCII text file will be displayed to
  142. the screen.  This file is called UOTD.TXT.  This is a file you create
  143. and is intended to plug the game and your system.  A sample UOTD.TXT
  144. file comes with this program.  Edit it to your heart's delight.
  145.  
  146. UOTD will automatically select new winners.  If the date has changed
  147. from the last time a user was selected, UOTD will first select a new
  148. winner, then continue to run.  A new winner will also be selected if
  149. the UOTD.DTE (date) or UOTD.DAY (daily winner) files cannot be found.
  150.  
  151. Anything displayed to the screen that has block characters in front and
  152. in back of it, is _not_ echoed to the com port and is merely Sysop
  153. information.
  154.  
  155. This program has built-in carrier detect, user inactivity timers,
  156. and QuickBBS time remaining support.  There is no need for a watchdog
  157. type program.
  158.  
  159.  
  160. Licensing Agreement
  161. -------------------
  162. This program is free of charge to whomever wants to use it.  I wrote it
  163. for the heck of it and I'm sharing it with you.  If you like it, drop me
  164. a netmail message at 1:282/12 saying "Thanks, John!" and that's all I'll
  165. ask.  If I don't get any input, the development will stop at this
  166. release. (That's not meant to sound impressive or anything.  Just that
  167. I won't update it if no one's using it.)
  168.  
  169. Do not modify the contents of this archive.  This means, do not put your
  170. BBS add into it for people to see when they extract it.  I think that's
  171. tacky and gawdy so please don't do it.  Feel free to convert the archive
  172. to any format you wish.
  173.  
  174. The author is not responsible for any damages to hardware, software or
  175. anything else related to running this program.   I don't think it will
  176. mess anything up but if it does, I ain't responsible.
  177.  
  178. John Parlin 
  179. City Terminal BBS
  180. Twin Cities Metronet 1:282/12
  181.