home *** CD-ROM | disk | FTP | other *** search
/ Amiga Elysian Archive / AmigaElysianArchive.iso / prog / arexx / mmaker.lha / mmaker next >
Encoding:
Text File  |  1990-05-28  |  32.5 KB  |  1,066 lines

  1. /* The MatchMaker by Patrick Baker 12-11-89 */
  2. /* Revised on 12-12-89 This is version 1.2 */
  3. /* C-Net conversion and mods by Ronald Kushner - C-Net Version 1.0 */
  4. options results
  5.  
  6. signal on syntax
  7. signal on ioerr
  8.  
  9. Getuser 19
  10. CLS = d2c(result)
  11. TOP = 'Life In Hell MatchMaker v 1.0'
  12. TOT = 0
  13. direct = 'Pfiles:match/'
  14. GETUSER 41
  15. REALNAME = RESULT
  16. getuser 40
  17. USERID = RESULT 
  18. getuser 1
  19. handle = result
  20. call EP
  21.  
  22. EP:
  23.  Transmit CLS
  24.  Transmit TOP
  25.  Transmit ''
  26.  
  27.  if nocarrier() then call BEXIT
  28.  if alias = '' then call BEXIT
  29.  if exists(direct'users/Total') then do
  30.     call open file, (direct'users/Total'), 'R'
  31.          tot = readln(file)
  32.     call close file
  33.  end
  34.  if ~exists(direct'users/Total') then do
  35.      call open file, (direct'users/Total'), 'W'
  36.      call close file
  37.  end 
  38.   if exists(direct'users/'REALNAME) then do
  39.      call open file, (direct'users/'REALNAME), 'R'
  40.           USERID = readln(file)
  41.           alias = readln(file)
  42.           handle   = readln(file)
  43.      call close file
  44.    end
  45.  if ~exists(direct'users/'Realname) then do
  46.      Transmit CLS
  47.      Transmit 'Your name is not found in the userlog!'
  48.      Transmit ''
  49.      Transmit 'You must first answer a few questions to register!'
  50.      Query 'Do you wish to register(Y/n)? '
  51.      ans = result
  52.      if NoCarrier() then call BEXIT
  53.      if ans = 'N' | ans = 'n' then call BEXIT
  54. /* Register */
  55.      Transmit CLS
  56. nameagain:     
  57.      call REG
  58.      if alias = '' then call EP
  59.      Transmit CLS
  60.      x = 0
  61.      if exists(direct'users/people') then do
  62.       call open files, (direct'users/people'),'R'
  63.        do until EOF(files)
  64.         temp = readln(files)
  65.         if temp = alias then x = 1
  66.         end
  67.        end
  68.       if x = 1 then do
  69.        transmit '\ca\n2Someone is useing that handle, try something else!\n2\q1'
  70.         call nameagain
  71.       end         
  72.  
  73.      Transmit 'Alias = 'alias
  74.      Transmit ''
  75.      Query 'Correct(Y/N)? '
  76.      ans = result
  77.      if nocarrier() then call BEXIT
  78.      if ans = '' then call BEXIT
  79.      IF ans = 'N' | ans = 'n' then do 
  80.         call REG
  81.         Transmit CLS
  82.         Transmit 'You just entered:'
  83.         Transmit 'Alias = 'alias 
  84.         Transmit ''
  85.         Transmit 'If it is incorrect, quit and contact the SysOp!'
  86.      end  
  87.      Transmit ''
  88.      Transmit CLS
  89.  
  90.      Transmit TOP
  91.      call QUEST
  92.  
  93. QUEST:
  94. /* ANSWER QUESTIONARE */
  95.      Transmit 'There are currently only EIGHT questions due to testing the program!'
  96.      Transmit 'Please answer these CORRECTLY!'
  97.      Transmit ''  
  98.      Transmit 'Question #1'
  99.      Query 'Gender (1=Male/2=Female)? '
  100.      gender = result
  101.      if gender = '' then call BEXIT
  102.      Transmit CLS
  103.      Transmit ''
  104.      Transmit 'Question #2'
  105.      Transmit 'What is your sexual preference: '
  106.      Transmit '     1) Heterosexual'
  107.      Transmit '     2) Homosexual'
  108.      Transmit '     3) BiSexual'
  109.      Transmit '     4) TrySexual (Ill try anything!)'
  110.      Query '1-4> '
  111.      pref = result
  112.      if pref = '' then call BEXIT
  113.      Transmit CLS
  114.      Transmit ''
  115.      Transmit 'Question #3'
  116.      Transmit 'What is your weight:'
  117.      Transmit '     1) 90-100 '
  118.      Transmit '     2) 101-120 '
  119.      Transmit '     3) 121-130 '
  120.      Transmit '     4) 131-150 '
  121.      Transmit '     5) 151-180 '
  122.      Transmit '     6) 181-210 '
  123.      Transmit '     7) over 210 '
  124.      Query '1-7> '
  125.      weight = result
  126.      if weight = '' then call BEXIT
  127.      Transmit CLS
  128.      Transmit 'Question #4'
  129.      Transmit ''
  130.      Transmit 'What weight do you prefer to match with: '
  131.      Transmit '     1) 90-100 '
  132.      Transmit '     2) 101-120 '
  133.      Transmit '     3) 121-130 '
  134.      Transmit '     4) 131-150 '
  135.      Transmit '     5) 151-180 '
  136.      Transmit '     6) 181-210 '
  137.      Transmit '     7) over 210 '
  138.      Query '1-7> '
  139.      weightpref = result
  140.      if weightpref = '' then call BEXIT
  141.      Transmit CLS
  142.      Transmit ''
  143.      Transmit 'Question #5'    
  144.      Transmit 'Eye color:'
  145.      Transmit '     1) Blue'
  146.      Transmit '     2) Grey'
  147.      Transmit '     3) Brown'
  148.      Transmit '     4) Green'
  149.      Transmit '     5) Hazel'
  150.      Transmit '     6) Black'
  151.      Query '1-6> '
  152.      eye = result
  153.      if eye = '' then call BEXIT
  154.      Transmit CLS
  155.      Transmit ''
  156.      Transmit 'Question #6'
  157.      Transmit 'Height: '
  158.      Transmit '     1) 4 ft - 4.5 ft'
  159.      Transmit '     2) 4.6  - 5.0 ft'
  160.      Transmit '     3) 5.1  - 5.5 ft'
  161.      Transmit '     4) 5.6  - 5.8 ft'
  162.      Transmit '     5) 5.9  - 5.11 ft'
  163.      Tramsmit '     6) 6.0  - 6.5 ft'
  164.      Transmit '     7) 6.6  - up'
  165.      Transmit '(period denotes a quote for feet)'
  166.      Query '1-7> ' 
  167.      height = result
  168.      if height = '' then call BEXIT
  169.      Transmit CLS
  170.      Transmit 'Question #7'
  171.      Transmit 'Age: '
  172.      Transmit '     1) 13-15'
  173.      Transmit '     2) 16-18'
  174.      Transmit '     3) 19-25'
  175.      Transmit '     4) 26-30'
  176.      Transmit '     5) 31-35'
  177.      Transmit '     6) 36-40'
  178.      Transmit '     7) 41-45'
  179.      Transmit '     8) 46-50'
  180.      Transmit '     9) 51-60'
  181.      Transmit '    10) Other'
  182.      Query '1-10> '
  183.      age = result
  184.      if age = '' then call BEXIT
  185.      Transmit CLS
  186.      Transmit 'Question #8'
  187.      Transmit 'What age would you like to match with: '
  188.      Transmit '     1) 13-15'
  189.      Transmit '     2) 16-18'
  190.      Transmit '     3) 19-25'
  191.      Transmit '     4) 26-30'
  192.      Transmit '     5) 31-35'
  193.      Transmit '     6) 36-40'
  194.      Transmit '     7) 41-45'
  195.      Transmit '     8) 46-50'
  196.      Transmit '     9) 51-60'
  197.      Transmit '    10) Other'
  198.      Query '1-10> '
  199.      agepref = result
  200.      if agepref = '' then call BEXIT
  201.      if nocarrier() then call BEXIT
  202.      
  203.      Transmit CLS
  204.      Transmit 'Question #9'
  205.      Transmit 'What kind of music do you like?'
  206.      Transmit '     1) Rock and Roll'
  207.      Transmit '     2) Punk/New Wave'
  208.      Transmit '     3) Heavy Metal dude!'
  209.      Transmit '     4) Classical'
  210.      Transmit '     5) Country'
  211.      Transmit '     6) Opera'
  212.      Transmit '     7) Soft Rock'
  213.      Transmit '     8) Other'
  214.      Query '1-8> '
  215.      music = result
  216.      if music = '' then call BEXIT
  217.      if nocarrier() then call BEXIT
  218.  
  219.      Transmit CLS
  220.      Transmit 'Question #10'
  221.      Transmit 'What are your hobbies?'
  222.      Transmit '     1) Sex'
  223.      Transmit '     2) Sports or exercise'
  224.      Transmit '     3) Parties'
  225.      Transmit '     4) Watching TV'
  226.      Transmit '     5) Computers'
  227.      Transmit '     6) Reading'
  228.      Transmit '     7) All of the Above'
  229.      Transmit '     8) Other'
  230.      Query '1-8> '
  231.      hobby = result
  232.      if hobby = '' then call BEXIT
  233.      if nocarrier() then call BEXIT
  234.  
  235.      Transmit CLS
  236.      Transmit 'Question #11'
  237.      Transmit 'How much do you make a year?'
  238.      Transmit '     1) under 5000'
  239.      Transmit '     2) 5001-10000'
  240.      Transmit '     3) 10001-15000'
  241.      Transmit '     4) 15001-25000'
  242.      Transmit '     5) 25001-40000'
  243.      Transmit '     6) 40001-60000'
  244.      Transmit '     7) 60001-up'
  245.      Query '1-7> '
  246.      salary = result
  247.      if music = '' then call BEXIT
  248.      if nocarrier() then call BEXIT
  249.  
  250.      Transmit CLS
  251.      Transmit 'Question #12'
  252.      Transmit 'What do you do on a first date?'
  253.      Transmit '     1) go to a movie'
  254.      Transmit '     2) go out to dinner'
  255.      Transmit '     3) go dancing/bars'
  256.      Transmit '     4) go to a play/concert'
  257.      Transmit '     5) I hit the MOTEL ROOM with my date'
  258.      Transmit '     6) I go and meet the mother'
  259.      Transmit '     7) I have never been on a date'
  260.      Transmit '     8) Other'
  261.      Query '1-8> '
  262.      firstdate = result
  263.      if music = '' then call BEXIT
  264.      if nocarrier() then call BEXIT
  265.  
  266.      Transmit CLS
  267.      Transmit 'Question #13'
  268.      Transmit 'Do you believe in womens lib?'
  269.      Transmit '     1) YES'
  270.      Transmit '     2) No'
  271.      Transmit '     3) No opinion'
  272.      Query '1-3> '
  273.      womenslib = result
  274.      if music = '' then call BEXIT
  275.      if nocarrier() then call BEXIT
  276.      
  277.      Transmit CLS
  278.      Transmit 'Question #14'
  279.      Transmit 'Are you:'
  280.      Transmit '     1) Democrat'
  281.      Transmit '     2) Republican'
  282.      Transmit '     3) Communist'
  283.      Transmit '     4) Socialist'
  284.      Transmit '     5) Liberal'
  285.      Transmit '     6) Other'
  286.      Query '1-6> '
  287.      Politics = result
  288.      if politics = '' then call BEXIT
  289.      if nocarrier() then call BEXIT
  290.  
  291.      Transmit CLS
  292.      Transmit 'Question #15'
  293.      Transmit 'Do you believe in Racial equality?'
  294.      Transmit '     1) Heck YES!'
  295.      Transmit '     2) No.'
  296.      Transmit '     3) No Opinion'
  297.      Query '1-3> '
  298.      RACIALEQUAL = result
  299.      if RACIALEQUAL = '' then call BEXIT
  300.      if nocarrier() then call BEXIT
  301.  
  302.      Transmit CLS
  303.      Transmit 'Question #16'
  304.      Transmit 'Would you date someone of another RACE?'
  305.      Transmit '     1) Yes!'
  306.      Transmit '     2) No.'
  307.      Transmit '     3) Depends'
  308.      Query '1-3> '
  309.      RACEPREF = result
  310.      if RACEPREF = '' then call BEXIT
  311.      if nocarrier() then call BEXIT
  312.  
  313.      Transmit CLS
  314.      Transmit 'Question #17'
  315.      Transmit 'What race are you?'
  316.      Transmit '     1) Hispanic'
  317.      Transmit '     2) Asian'
  318.      Transmit '     3) African American'
  319.      Transmit '     4) Native American'
  320.      Transmit '     5) Caucasion'
  321.      Transmit '     6) NewComer'
  322.      Transmit '     7) Other'
  323.      Query '1-7> '
  324.      race = result
  325.      if race = '' then call BEXIT
  326.      if nocarrier() then call BEXIT
  327.  
  328.      Transmit CLS
  329.      Transmit 'Question #18'
  330.      Transmit 'Do you believe in abortion?'
  331.      Transmit '     1) Yes'
  332.      Transmit '     2) No '
  333.      Transmit '     3) only in certain circumstances.'
  334.      Query '1-3> '
  335.      abort = result
  336.      if abort = '' then call BEXIT
  337.  
  338.      Transmit CLS
  339.      QUERY 'Was everything entered correctly(Y/N)? '
  340.      ans = result
  341.      if ans = '' then call BEXIT
  342.      if ans = 'n' | ans = 'N' then call QUEST
  343.      Transmit CLS
  344.      Transmit 'Writing questionare.....'
  345.          call open file, (direct'users/'REALNAME),'W'
  346.               CALL WRITELN FILE, USERID
  347.               call writeln file, ALIAS 
  348.               call writeln file, HANDLE
  349.               call writeln file, gender
  350.               call writeln file, pref
  351.               call writeln file, weight
  352.               call writeln file, weightpref
  353.               call writeln file, eye
  354.               call writeln file, height
  355.               call writeln file, AGE
  356.               call writeln file, AGEPREF
  357.  
  358.               call writeln file, MUSIC
  359.               call writeln file, HOBBY
  360.               call writeln file, SALARY
  361.               call writeln file, FIRSTDATE
  362.               call writeln file, WOMENSLIB
  363.               call writeln file, POLITICS
  364.               call writeln file, RACIALEQUAL
  365.               call writeln file, RACEPREF
  366.               call writeln file, RACE
  367.               call writeln file, ABORT
  368.           CALl close file
  369.  
  370.  
  371. /* WRITE STATS to TOTAL, PEOPLE, and CREATE FILE */
  372.   /*   if exists(direct'users/Total') then do */
  373.         call open file, (direct'users/Total'),'W'
  374.              TOT = TOT + 1
  375.              call writeln file, TOT
  376.         call close file
  377.     
  378.      if exists(direct'users/People') then do
  379.         call open file, (direct'users/People'),'A'
  380.              call writeln file, alias
  381.         call close file
  382.      end 
  383.      if ~exists(direct'users/People') then do
  384.          call open file, (direct'users/People'),'W'
  385.               call writeln file, alias
  386.          call close file
  387.      end
  388.      if exists(direct'users/People.serial') then do
  389.         call open file, (direct'users/People.serial'),'A'
  390.              call writeln file, realname
  391.         call close file
  392.      end 
  393.      if ~exists(direct'users/People.serial') then do
  394.          call open file, (direct'users/People.serial'),'W'
  395.               call writeln file, realname
  396.          call close file
  397.      end
  398.      call MAIN 
  399.   end
  400.  
  401.  
  402. MAIN:
  403.   Transmit CLS
  404.   Transmit TOP
  405.   Transmit ''
  406.   Transmit ' 1)  Make your Match'
  407.   Transmit ' 2)  View your Stats'
  408.   Transmit ' 3)  View others Stats'
  409.   Transmit ' 4)  Change your Stats      *'
  410.   Transmit ' 5)  User Listing'
  411.   Transmit ' 6)  Send a Message         *'
  412.   Transmit ' To contact another user, please leave feedback to the sysop and'
  413.   transmit ' he will notify that user you are interested in them.'
  414.   Transmit ' (* = NOT ACTIVE YET!)'
  415.   Transmit ' '
  416.   Transmit ' Q)uit to BBS'
  417.   Transmit ''
  418.   QUERY '> '
  419.   ans = result
  420.   if nocarrier() then call BEXIT
  421.   if ans = '###PANIC' then call BEXIT
  422.   if ans = '' then call MAIN
  423.   if ans = 'Q' | ans = 'q' then call BEXIT
  424.   if ans = '1' then call MATCH
  425.   if ans = '2' then call YOURSTATS
  426.   if ans = '3' then call OTHERSTATS
  427.   if ans = '5' then call USERLIST
  428.   if ans = 'M' then call Letter
  429.   if nocarrier() then call BEXIT
  430.   call MAIN
  431.  
  432. MATCH:
  433.   call open file1, (direct'users/Total'), 'R'
  434.        tot = readln(file1)
  435.   call close file1 
  436.   Transmit CLS
  437.   Transmit TOP
  438.   call open file, (direct'users/'realname),'R'
  439.        UserID = READLN(FILE)
  440.        alias1 = readln(file)
  441.        Handle = readln(file)
  442.        gender = readln(file)
  443.        pref = readln(file)
  444.        weight = readln(file)
  445.        weightpref = readln(file)
  446.        eye = readln(file)
  447.        height = readln(file)
  448.        age = readln(file)
  449.        agepref = readln(file)
  450.        MUSIC = readln(file)
  451.        HOBBY = readln(file)
  452.        SALARY = readln(file)
  453.        FIRSTDATE = readln(file)
  454.        WOMENSLIB = readln(file)
  455.        POLITICS = readln(file)
  456.        RACIALEQUAL = readln(file)
  457.        RACEPREF = readln(file)
  458.        RACE = readln(file)
  459.        ABORT = readln(file)
  460.     call close file     
  461.   Transmit 'Matching...'
  462.   call open file, (direct'users/people.serial'),'R'
  463.   call open files, (direct'users/people'),'R'
  464.   do j = 1 to tot
  465.          matchid.j = readln(file)
  466.          matchname.j = readln(files)  
  467.   end
  468.   do i = 1 to tot
  469.      call open file2, (direct'users/'matchid.i), 'R'
  470.              othername.i = readln(file2)
  471.              otheralias.i = readln(file2)
  472.              otherpass.i = readln(file2)
  473.              othergender.i = readln(file2) 
  474.              otherpref.i = readln(file2)
  475.              otherweight.i = readln(file2)
  476.              otherweightpref.i = readln(file2)
  477.              othereye.i = readln(file2)
  478.              otherheight.i = readln(file2)
  479.              otherage.i = readln(file2)
  480.              otheragepref.i = readln(file2)
  481.              otherMUSIC = readln(file2)
  482.              otherHOBBY = readln(file2)
  483.              otherSALARY = readln(file2)
  484.              otherFIRSTDATE = readln(file2)
  485.              otherWOMENSLIB = readln(file2)
  486.              otherPOLITICS = readln(file2)
  487.              otherRACIALEQUAL = readln(file2)
  488.              otherRACEPREF = readln(file2)
  489.              otherRACE = readln(file2)
  490.              otherABORT = readln(file2)
  491.       call close file2
  492.     end
  493.    call close file
  494.    call close files
  495.    ct = 0
  496.    Transmit CLS
  497.    Transmit 'Name                    %      Gender'
  498.    Transmit ''
  499.    matches=0
  500.    do i = 1 to tot
  501.       if othergender.i = 1 then AGEN='MALE'
  502.       if othergender.i = 2 then AGEN='FEMALE'
  503.       if otherpref.i = pref then do
  504.          ct=ct+1
  505.       end
  506.       if otherweight.i = weightpref then ct = ct + 1
  507.       if otherweightpref.i = weight then ct = ct + 1
  508.       if othereye.i = eye then ct = ct + 1
  509.       if gender = 1 then do
  510.          if height > otherheight.i then ct = ct + 1
  511.       end
  512.       if gender = 2 then do
  513.          if height < otherheight.i then ct = ct + 1
  514.       end
  515.       if age = otheragepref.i then ct = ct + 1
  516.       if otherage.i = agepref then ct = ct + 1
  517.  
  518.       if otherpref.i = pref then do
  519.          if pref = 4 | pref = 3 then do
  520.             percentage = (ct/7)* 100
  521.             percentage = left(percentage,4) 
  522.             matchname.i = left(matchname.i,20)
  523.             gen = left(gen,10)
  524.             Transmit matchname.i'  'percentage'%    'Agen
  525.             matches=matches+1
  526.             ct=0
  527.          end 
  528.          if pref = 2 then do
  529.             if othergender.i = gender then do
  530.                percentage = (ct/7)* 100
  531.                percentage = left(percentage,4) 
  532.                matchname.i = left(matchname.i,20)
  533.                gen = left(gen,10)
  534.                Transmit matchname.i'  'percentage'%    'Agen
  535.                matches=matches+1
  536.                ct=0
  537.              end
  538.           end 
  539.           if pref = 1 then do
  540.              if otherpref.i = 1 then do
  541.                 if othergender.i ~= gender then do
  542.                    percentage = (ct/7)* 100
  543.                    percentage = left(percentage,4) 
  544.                    matchname.i = left(matchname.i,20)
  545.                    gen = left(gen,10)
  546.                    Transmit matchname.i'  'percentage'%    'Agen
  547.                    matches=matches+1
  548.                    ct=0
  549.                  end
  550.               end
  551.            end
  552.            ct=0
  553.       end
  554.     end
  555.  
  556.     Transmit ''
  557.     if matches = 0 then do
  558.        Transmit 'No Matches!  Try later!'
  559.     end
  560.     Query 'Hit RETURN'
  561.     call MAIN
  562.  
  563.  
  564. USERLIST:
  565.   Transmit CLS
  566.   Transmit TOP
  567.   Transmit ''
  568.   Transmit 'MatchMaker Userlist: '
  569.   Transmit ''
  570.   count = 0
  571.   call open file, (direct'users/People'), 'R'
  572.   do until EOF(File)
  573.      count = count + 1  
  574.      name = readln(file)
  575.      Transmit Name
  576.      if count = 20 then do
  577.         Transmit ''
  578.         Query 'Continue(Y/N)? '
  579.         ans = result
  580.         if ans = 'N' | ans = 'n' then call USERLISTEND
  581.         Transmit CLS
  582.         count = 0
  583.      end
  584.   end
  585.   call USERLISTEND
  586.  
  587. USERLISTEND:
  588.   call close file
  589.   Transmit ''
  590.   Query 'Hit RETURN: '
  591.   call MAIN
  592.  
  593. OTHERSTATS:
  594.   Transmit CLS
  595.   Transmit TOP
  596.   Query 'View who? '
  597.   mailname = result
  598.   if mailname = '' then call main
  599.   call open files, (direct'users/people'),'R'
  600.   call open file, (direct'users/people.serial'),'R'
  601.   do j = 1 to tot
  602.         matchname.j = readln(files)  
  603.         matchid.j = readln(file)  
  604.   end
  605.   call close files
  606.   call close file
  607.  do j = 1 to tot
  608.  if mailname = matchname.j then call gusse
  609.  end
  610. transmit 'User not found!'
  611. call main
  612. gusse:  
  613. name = matchid.j
  614. if exists(direct'users/'NAME) then do
  615.   call open file, (direct'users/'NAME), 'R'
  616.        OTHERID = READLN(FILE)
  617.        otheralias = readln(file)
  618.        otherhandle = readln(file)
  619.        othergender = readln(file)
  620.        otherpref = readln(file)
  621.        otherweight = readln(file)
  622.        otherweightpref = readln(file)
  623.        othereye = readln(file)
  624.        otherheight = readln(file)
  625.        otherage = readln(file)
  626.        otheragepref = readln(file)
  627.        otherMUSIC = readln(file)
  628.        otherHOBBY = readln(file)
  629.        otherSALARY = readln(file)
  630.        otherFIRSTDATE = readln(file)
  631.        otherWOMENSLIB = readln(file)
  632.        otherPOLITICS = readln(file)
  633.        otherRACIALEQUAL = readln(file)
  634.        otherRACEPREF = readln(file)
  635.        otherRACE = readln(file)
  636.        otherABORT = readln(file)
  637.   call close file
  638.  
  639.   if othermusic = 1 then othermusic = 'Rock and Roll'
  640.   if othermusic = 2 then othermusic = 'Punk/New Wave'
  641.   if othermusic = 3 then othermusic = 'Heavy Metal dude!'
  642.   if othermusic = 4 then othermusic = 'Classical'
  643.   if othermusic = 5 then othermusic = 'Country'
  644.   if othermusic = 6 then othermusic = 'Opera'
  645.   if othermusic = 7 then othermusic = 'Soft Rock'
  646.   if othermusic = 8 then othermusic = 'Other'
  647.  
  648.   if otherhobby = 1 then otherhobby = 'Sex'
  649.   if otherhobby = 2 then otherhobby = 'Sports or exercise'
  650.   if otherhobby = 3 then otherhobby = 'Parties!!'
  651.   if otherhobby = 4 then otherhobby = 'Watching TV'
  652.   if otherhobby = 5 then otherhobby = 'Computers'
  653.   if otherhobby = 6 then otherhobby = 'Reading'
  654.   if otherhobby = 7 then otherhobby = 'All of the above'
  655.   if otherhobby = 8 then otherhobby = 'Other'
  656.  
  657.   if othersalary = 1 then othersalary = 'under 5000'
  658.   if othersalary = 2 then othersalary = '5001-10000'
  659.   if othersalary = 3 then othersalary = '10001-15000'
  660.   if othersalary = 4 then othersalary = '15001-25000'
  661.   if othersalary = 5 then othersalary = '25001-40000'
  662.   if othersalary = 6 then othersalary = '40001-60000'
  663.   if othersalary = 7 then othersalary = '60001-up'
  664.  
  665.   if otherfirstdate = 1 then otherfirstdate = 'go to a movie'
  666.   if otherfirstdate = 2 then otherfirstdate = 'go out to dinner'
  667.   if otherfirstdate = 3 then otherfirstdate = 'go dancing/bars'
  668.   if otherfirstdate = 4 then otherfirstdate = 'go to a play/concert'
  669.   if otherfirstdate = 5 then otherfirstdate = 'I hit the MOTEL ROOM with my date'
  670.   if otherfirstdate = 6 then otherfirstdate = 'I go and meet the mother'
  671.   if otherfirstdate = 7 then otherfirstdate = 'I have never been on a date'
  672.   if otherfirstdate = 8 then otherfirstdate = 'Other'
  673.  
  674.   if otherwomenslib = 1 then otherwomenslib = 'YES'
  675.   if otherwomenslib = 2 then otherwomenslib = 'No'
  676.   if otherwomenslib = 3 then otherwomenslib = 'No opinion'
  677.  
  678.   if otherpolitics = 1 then otherpolitics = 'Democrat'
  679.   if otherpolitics = 2 then otherpolitics = 'Republican'
  680.   if otherpolitics = 3 then otherpolitics = 'Communist'
  681.   if otherpolitics = 4 then otherpolitics = 'Socialist'
  682.   if otherpolitics = 5 then otherpolitics = 'Liberal'
  683.   if otherpolitics = 6 then otherpolitics = 'Other'
  684.  
  685.   if otherRacialequal = 1 then otherRacialequal = 'Heck YES!'
  686.   if otherRacialequal = 2 then otherRacialequal = 'No.'
  687.   if otherRacialequal = 3 then otherRacialequal = 'No Opinion'
  688.   
  689.   if otherracepref = 1 then otherracepref = 'Yes!'
  690.   if otherracepref = 2 then otherracepref = 'No.'
  691.   if otherracepref = 3 then otherracepref = 'Depends'
  692.  
  693.   if otherRACE = 1 then otherrace = 'Hispanic'
  694.   if otherRACE = 2 then otherrace = 'Asian'
  695.   if otherRACE = 3 then otherrace = 'African American'
  696.   if otherRACE = 4 then otherrace = 'Native American'
  697.   if otherRACE = 5 then otherrace = 'Caucasion'
  698.   if otherRACE = 6 then otherrace = 'Newcomer'
  699.   if otherRACE = 7 then otherrace = 'Other'
  700.  
  701.   if otherabort = 1 then otherabort = 'Yes'
  702.   if otherabort = 2 then otherabort = 'No'
  703.   if otherabort = 3 then otherabort = 'only in certain circumstances'
  704.  
  705.  
  706.  
  707.  
  708. /* OLD QUESTIONS */
  709.   if othergender = 1 then othergender = 'Male'
  710.   if othergender = 2 then othergender = 'Female'
  711.  
  712.   if otherpref = 1 then otherpref = 'HeteroSexual'
  713.   if otherpref = 2 then otherpref = 'HomoSexual'
  714.   if otherpref = 3 then otherpref = 'BiSexual'
  715.   if otherpref = 4 then otherpref = 'TrySexual'
  716.  
  717.   if otherweight = 1 then otherweight = '90-100'
  718.   if otherweight = 2 then otherweight = '101-120'
  719.   if otherweight = 3 then otherweight = '121-130'
  720.   if otherweight = 4 then otherweight = '131-150'
  721.   if otherweight = 5 then otherweight = '151-180'
  722.   if otherweight = 6 then otherweight = '181-210'
  723.   if otherweight = 7 then otherweight = 'over 210'
  724.  
  725.   if otherweightpref = 1 then otherweightpref = '90-100'
  726.   if otherweightpref = 2 then otherweightpref = '101-120'
  727.   if otherweightpref = 3 then otherweightpref = '121-130'
  728.   if otherweightpref = 4 then otherweightpref = '131-150'
  729.   if otherweightpref = 5 then otherweightpref = '151-180'
  730.   if otherweightpref = 6 then otherweightpref = '181-210'
  731.   if otherweightpref = 7 then otherweightpref = 'over 210'
  732.  
  733.   if othereye = 1 then othereye = 'Blue'
  734.   if othereye = 2 then othereye = 'Grey'
  735.   if othereye = 3 then othereye = 'Brown'
  736.   if othereye = 4 then othereye = 'Green'
  737.   if othereye = 5 then othereye = 'Hazel'
  738.   if othereye = 6 then othereye = 'Black'
  739.  
  740.   if otherheight = 1 then otherheight = '4ft-4.5ft'
  741.   if otherheight = 2 then otherheight = '4.6ft-5ft'
  742.   if otherheight = 3 then otherheight = '5.1ft-5.5ft'
  743.   if otherheight = 4 then otherheight = '5.6ft-5.8ft'
  744.   if otherheight = 5 then otherheight = '5.9ft-5.11ft'
  745.   if otherheight = 6 then otherheight = '6ft-6.5ft'
  746.   if otherheight = 7 then otherheight = '6.6ft-UP'
  747.  
  748.   if otherage = 1 then otherage = '13-15'
  749.   if otherage = 2 then otherage = '16-18'
  750.   if otherage = 3 then otherage = '19-25'
  751.   if otherage = 4 then otherage = '26-30'
  752.   if otherage = 5 then otherage = '31-35'
  753.   if otherage = 6 then otherage = '36-40'
  754.   if otherage = 7 then otherage = '41-45'
  755.   if otherage = 8 then otherage = '46-50'
  756.   if otherage = 9 then otherage = '51-60'
  757.   if otherage = 10 then otherage = 'Other'
  758.  
  759.   if otheragepref = 1 then otheragepref = '13-15'
  760.   if otheragepref = 2 then otheragepref = '16-18'
  761.   if otheragepref = 3 then otheragepref = '19-25'
  762.   if otheragepref = 4 then otheragepref = '26-30'
  763.   if otheragepref = 5 then otheragepref = '31-35'
  764.   if otheragepref = 6 then otheragepref = '36-40'
  765.   if otheragepref = 7 then otheragepref = '41-45'
  766.   if otheragepref = 8 then otheragepref = '46-50'
  767.   if otheragepref = 9 then otheragepref = '51-60'
  768.   if otheragepref = 10 then otheragepref = 'Other'
  769.  
  770.   Transmit ''
  771.   Transmit 'Alias:       'otheralias
  772.   Transmit 'Gender:      'othergender
  773.   Transmit 'Sex Pref:    'otherpref
  774.   Transmit 'Weight:      'otherweight
  775.   Transmit 'Weight Pref: 'otherweightpref
  776.   Transmit 'Eye color:   'othereye
  777.   Transmit 'Height:      'otherheight
  778.   Transmit 'Age:         'otherage
  779.   Transmit 'Age Pref:    'otheragepref
  780.   Transmit 'Music Pref:  'otherMUSIC
  781.   Transmit 'Hobby:       'otherHOBBY
  782.   Transmit 'Salary:      $'otherSALARY
  783.   Transmit ''
  784.   Transmit 'Like to do on 1ST date:      'otherFIRSTDATE
  785.   Transmit 'Believes in womens Lib?      'otherWOMENSLIB
  786.   Transmit 'Political status:            'otherPOLITICS
  787.   Transmit 'Believes in ALL RACES equal: 'otherRACIALEQUAL
  788.   Transmit 'Will date another race?      'otherRACEPREF
  789.   Transmit 'Race:                        'otherRACE
  790.   Transmit 'Abortion views:              'otherABORT
  791.   Transmit ''
  792.   Query 'Hit RETURN: '
  793.   call MAIN
  794.   END
  795. Transmit 'User not FOUND!'
  796. Transmit ''
  797. Query 'Hit RETURN: '
  798. call MAIN
  799.  
  800. YOURSTATS:
  801.   Transmit CLS
  802.   Transmit TOP
  803.   call open file, (direct'users/'realname), 'R'
  804.        UserID = READLN(FILE)
  805.        alias1 = readln(file)
  806.        Handle = readln(file)
  807.        gender = readln(file)
  808.        pref = readln(file)
  809.        weight = readln(file)
  810.        weightpref = readln(file)
  811.        eye = readln(file)
  812.        height = readln(file)
  813.        age = readln(file)
  814.        agepref = readln(file)
  815.        MUSIC = readln(file)
  816.        HOBBY = readln(file)
  817.        SALARY = readln(file)
  818.        FIRSTDATE = readln(file)
  819.        WOMENSLIB = readln(file)
  820.        POLITICS = readln(file)
  821.        RACIALEQUAL = readln(file)
  822.        RACEPREF = readln(file)
  823.        RACE = readln(file)
  824.        ABORT = readln(file)
  825.  
  826.  
  827.  
  828.   call close file
  829.   if gender = 1 then gender = 'Male'
  830.   if gender = 2 then gender = 'Female'
  831.   if pref = 1 then pref = 'HeteroSexual'
  832.   if pref = 2 then pref = 'HomoSexual'
  833.   if pref = 3 then pref = 'BiSexual'
  834.   if pref = 4 then pref = 'TrySexual'
  835.   if weight = 1 then weight = '90-100'
  836.   if weight = 2 then weight = '101-120'
  837.   if weight = 3 then weight = '121-130'
  838.   if weight =  4 then weight = '131-150'
  839.   if weight = 5 then weight = '151-180'
  840.   if weight = 6 then weight = '181-210'
  841.   if weight = 7 then weight = 'over 210'
  842.   if weightpref = 1 then weightpref = '90-100'
  843.   if weightpref = 2 then weightpref = '101-120'
  844.   if weightpref = 3 then weightpref = '121-130'
  845.   if weightpref = 4 then weightpref = '131-150'
  846.   if weightpref = 5 then weightpref = '151-180'
  847.   if weightpref = 6 then weightpref = '181-210'
  848.   if weightpref = 7 then weightpref = 'over 210'
  849.   if eye = 1 then eye = 'Blue'
  850.   if eye = 2 then eye = 'Grey'
  851.   if eye = 3 then eye = 'Brown'
  852.   if eye = 4 then eye = 'Green'
  853.   if eye = 5 then eye = 'Hazel'
  854.   if eye = 6 then eye = 'Black'
  855.   if height = 1 then height = '4ft-4.5ft'
  856.   if height = 2 then height = '4.6ft-5ft'
  857.   if height = 3 then height = '5.1ft-5.5ft'
  858.   if height = 4 then height = '5.6ft-5.8ft'
  859.   if height = 5 then height = '5.9ft-5.11ft'
  860.   if height = 6 then height = '6ft-6.5ft'
  861.   if height = 7 then height = '6.6ft-UP'
  862.  
  863.   if age = 1 then age = '13-15'
  864.   if age = 2 then age = '16-18'
  865.   if age = 3 then age = '19-25'
  866.   if age = 4 then age = '26-30'
  867.   if age = 5 then age = '31-35'
  868.   if age = 6 then age = '36-40'
  869.   if age = 7 then age = '41-45'
  870.   if age = 8 then age = '46-50'
  871.   if age = 9 then age = '51-60'
  872.   if age = 10 then age = 'Other'
  873.  
  874.   if agepref = 1 then agepref = '13-15'
  875.   if agepref = 2 then agepref = '16-18'
  876.   if agepref = 3 then agepref = '19-25'
  877.   if agepref = 4 then agepref = '26-30'
  878.   if agepref = 5 then agepref = '31-35'
  879.   if agepref = 6 then agepref = '36-40'
  880.   if agepref = 7 then agepref = '41-45'
  881.   if agepref = 8 then agepref = '46-50'
  882.   if agepref = 9 then agepref = '51-60'
  883.   if agepref = 10 then agepref = 'Other'
  884.  
  885.   if music = 1 then music = 'Rock and Roll'
  886.   if music = 2 then music = 'Punk/New Wave'
  887.   if music = 3 then music = 'Heavy Metal dude!'
  888.   if music = 4 then music = 'Classical'
  889.   if music = 5 then music = 'Country'
  890.   if music = 6 then music = 'Opera'
  891.   if music = 7 then music = 'Soft Rock'
  892.   if music = 8 then music = 'Other'
  893.  
  894.   if hobby = 1 then hobby = 'Sex'
  895.   if hobby = 2 then hobby = 'Sports or exercise'
  896.   if hobby = 3 then hobby = 'Parties!!'
  897.   if hobby = 4 then hobby = 'Watching TV'
  898.   if hobby = 5 then hobby = 'Computers'
  899.   if hobby = 6 then hobby = 'Reading'
  900.   if hobby = 7 then hobby = 'All of the above'
  901.   if hobby = 8 then hobby = 'Other'
  902.  
  903.   if salary = 1 then salary = 'under 5000'
  904.   if salary = 2 then salary = '5001-10000'
  905.   if salary = 3 then salary = '10001-15000'
  906.   if salary = 4 then salary = '15001-25000'
  907.   if salary = 5 then salary = '25001-40000'
  908.   if salary = 6 then salary = '40001-60000'
  909.   if salary = 7 then salary = '60001-up'
  910.  
  911.   if firstdate = 1 then firstdate = 'go to a movie'
  912.   if firstdate = 2 then firstdate = 'go out to dinner'
  913.   if firstdate = 3 then firstdate = 'go dancing/bars'
  914.   if firstdate = 4 then firstdate = 'go to a play/concert'
  915.   if firstdate = 5 then firstdate = 'I hit the MOTEL ROOM with my date'
  916.   if firstdate = 6 then firstdate = 'I go and meet the m'
  917.   if firstdate = 7 then firstdate = 'I have never been on a date'
  918.   if firstdate = 8 then firstdate = 'Other'
  919.  
  920.   if womenslib = 1 then womenslib = 'YES'
  921.   if womenslib = 2 then womenslib = 'No'
  922.   if womenslib = 3 then womenslib = 'No opinion'
  923.  
  924.   if politics = 1 then politics = 'Democrat'
  925.   if politics = 2 then politics = 'Republican'
  926.   if politics = 3 then politics = 'Communist'
  927.   if politics = 4 then politics = 'Socialist'
  928.   if politics = 5 then politics = 'Liberal'
  929.   if politics = 6 then politics = 'Other'
  930.  
  931.   if Racialequal = 1 then Racialequal = 'Heck YES!'
  932.   if Racialequal = 2 then Racialequal = 'No.'
  933.   if Racialequal = 3 then Racialequal = 'No Opinion'
  934.   
  935.   if racepref = 1 then racepref = 'Yes!'
  936.   if racepref = 2 then racepref = 'No.'
  937.   if racepref = 3 then racepref = 'Depends'
  938.  
  939.   if RACE = 1 then race = 'Hispanic'
  940.   if RACE = 2 then race = 'Asian'
  941.   if RACE = 3 then race = 'African American'
  942.   if RACE = 4 then race = 'Native American'
  943.   if RACE = 5 then race = 'Caucasion'
  944.   if RACE = 6 then race = 'Newcomer'
  945.   if RACE = 7 then race = 'Other'
  946.  
  947.   if abort = 1 then abort = 'Yes'
  948.   if abort = 2 then abort = 'No'
  949.   if abort = 3 then abort = 'only in certain circumstances'
  950.  
  951.  
  952.   Transmit ''
  953.   Transmit 'Name:          'Handle
  954.   Transmit 'Alias:         'alias1
  955.   Transmit 'Your ID Number:'UserID
  956.   Transmit 'Gender:        'gender
  957.   Transmit 'Sex Pref:      'pref
  958.   Transmit 'Weight:        'weight
  959.   Transmit 'Weight Pref:   'weightpref
  960.   Transmit 'Eye color:     'eye
  961.   Transmit 'Height:        'height
  962.   Transmit 'Age:           'age
  963.   Transmit 'Age Pref:      'agepref
  964.   Transmit ''
  965.   Query 'Hit RETURN: '
  966.   Transmit CLS
  967.   Transmit 'Music Pref:    'MUSIC
  968.   Transmit 'Hobby:         'HOBBY
  969.   Transmit 'Salary:       $'SALARY
  970.   Transmit ''
  971.   Transmit 'Like to do on 1ST date:      'FIRSTDATE
  972.   Transmit 'Believes in womens Lib?      'WOMENSLIB
  973.   Transmit 'Political status:            'POLITICS
  974.   Transmit 'Believes in ALL RACES equal: 'RACIALEQUAL
  975.   Transmit 'Will date another race?      'RACEPREF
  976.   Transmit 'Race:                        'RACE
  977.   Transmit 'Abortion views:              'ABORT
  978.   Transmit ''
  979.   Query 'Hit RETURN: '
  980.  
  981.   call MAIN
  982.  
  983.  
  984. /* Procedure to REGISTER */  
  985. REG: 
  986.      Query 'Enter the ALIAS you wish to use: '
  987.      alias = result
  988.      if alias = '' then return
  989.      pass = "PASS"
  990. RETURN 
  991.  
  992. Letter:
  993. query 'Enter the name of the person you wish to send a letter to\n2>'
  994. mailname = result
  995. if mailname = '' then call main
  996.   call open files, (direct'users/people'),'R'
  997.   call open file, (direct'users/people.serial'),'R'
  998.   do j = 1 to tot
  999.         matchname.j = readln(files)  
  1000.         matchid.j = readln(file)  
  1001.   end
  1002.   call close files
  1003.   call close file
  1004.  do j = 1 to tot
  1005.  if mailname = matchname.j then call send
  1006.  end
  1007. transmit 'User not found!'
  1008. call main
  1009.  
  1010. send:
  1011.  call open file, (direct'users/'matchid.j),'R'
  1012.  ID = readln(file)
  1013.  close file
  1014. bufferflush
  1015. SC = 'MS'id'!;'
  1016. JF = sc"hello"
  1017. cf = upper(jf)
  1018. transmit cf
  1019. bbscommand CF
  1020. call main 
  1021. bbscommand 'MS'ID' !;Mail from 'alias' in dating;n;n;'
  1022.  
  1023. /* Procedures for Errors, Logging off and re-entering Abyss */
  1024. IOERR:
  1025.    TRANSMIT '*BOOM*  Got an IO error.  PLEASE notify the sysop.'
  1026.    TRANSMIT 'Line:' SIGL
  1027.    LOGENTRY '*BOOM*  Got an IO error.'
  1028.    LOGENTRY '---> Line:' SIGL
  1029.    call CloseShop
  1030. exit
  1031.  
  1032. SYNTAX:
  1033.    TRANSMIT '*BOOM*  Got a syntax error.  PLEASE notify the sysop.'
  1034.    TRANSMIT 'Line:' SIGL '   Error Code:' RC
  1035.    LOGENTRY '*BOOM*  Got a syntax error.'
  1036.    LOGENTRY '---> Line:' SIGL '   Error Code:' RC
  1037.    call CloseShop
  1038. exit
  1039.  
  1040.  
  1041. CloseShop: procedure
  1042.    TRANSMIT ' '
  1043.    TRANSMIT ' '
  1044.    if NoCarrier() then call Quit
  1045.    QUERY 'Press RETURN:'
  1046.    SHUTDOWN
  1047. return
  1048.  
  1049. Quit: procedure
  1050.    SHUTDOWN
  1051.    exit
  1052. return
  1053.  
  1054. NoCarrier: procedure
  1055.    GETCARRIER
  1056.    carrier = RESULT
  1057.    if carrier=='FALSE' then 
  1058.       rv = 1
  1059.    else
  1060.       rv = 0
  1061. return(rv)
  1062.  
  1063. BEXIT:
  1064.   BUFFERFLUSH
  1065.   SHUTDOWN
  1066.   EXIT