home *** CD-ROM | disk | FTP | other *** search
/ Carsten's PPE Collection / Carstens_PPE_Collection_2007.zip / S / SCUMMAT1.ZIP / MATRIX.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1994-07-10  |  19KB  |  912 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Integer  INTEGER001
  20.     Integer  INTEGER002
  21.     Integer  INTEGER003
  22.     Integer  INTEGER004
  23.     Integer  INTEGER005
  24.     Integer  INTEGER006
  25.     Integer  INTEGER007
  26.     Integer  INTEGER008
  27.     Integer  INTEGER009
  28.     Integer  INTEGER010
  29.     Integer  INTEGER011
  30.     Integer  INTEGER012
  31.     Integer  INTEGER013
  32.     String   STRING001
  33.     String   STRING002
  34.     String   STRING003
  35.     String   STRING004
  36.     String   STRING005
  37.     String   STRING006
  38.     String   STRING007
  39.     String   STRING008
  40.     String   STRING009
  41.     String   STRING010
  42.     String   STRING011
  43.     String   STRING012
  44.     String   STRING013
  45.     String   STRING014
  46.     String   STRING015
  47.     String   STRING016
  48.     String   STRING017
  49.     String   STRING018
  50.     String   STRING019
  51.     String   STRING020
  52.     String   STRING021
  53.     String   STRING022
  54.     String   STRING023
  55.     String   STRING024
  56.     String   STRING025
  57.     String   STRING026
  58.     String   STRING027
  59.     String   STRING028
  60.     String   STRING029
  61.     String   STRING030
  62.     String   STRING031
  63.     String   STRING032
  64.     String   STRING033
  65.     String   STRING034
  66.     String   STRING035
  67.     String   STRING036
  68.     String   STRING037
  69.     String   STRING038
  70.     String   STRING039
  71.     String   STRING040
  72.     String   STRING041
  73.     String   STRING042
  74.     String   STRING043
  75.     String   STRING044
  76.     String   STRING045
  77.     String   STRING046
  78.     String   STRING047
  79.     String   STRING048
  80.     String   STRING049
  81.     Time     TIME001
  82.     Time     TIME002
  83.  
  84. ;------------------------------------------------------------------------------
  85.  
  86.     STRING038 = Chr(7)
  87.     STRING039 = Chr(27) + "["
  88.     STRING040 = STRING039 + "0;0H"
  89.     STRING041 = STRING039 + "K"
  90.     STRING005 = "SYSOP.TXT"
  91.     TIME001 = ReadLine(PCBDat(), 189)
  92.     TIME002 = ReadLine(PCBDat(), 190)
  93.     STRING042 = Chr(10) + Chr(13)
  94.     STRING001 = Chr(13)
  95.     INTEGER006 = 0
  96.     INTEGER007 = 0
  97.     STRING043 = "00h"
  98.     STRING011 = "matrix.cfg"
  99.     If (Exist(PPEPath() + "matrix.cfg")) Goto LABEL001
  100.     PrintLn "[OH SHIT] Configuration file missing or corrupt."
  101.     Log "Config file missing or corrupt.", 0
  102.     Hangup
  103.     :LABEL001
  104.     FOpen 1, PPEPath() + "matrix.cfg", 0, 0
  105.     FGet 1, STRING022
  106.     FGet 1, STRING012
  107.     FGet 1, STRING013
  108.     FGet 1, STRING015
  109.     FGet 1, STRING016
  110.     FGet 1, INTEGER005
  111.     FGet 1, INTEGER006
  112.     FGet 1, STRING023
  113.     FGet 1, INTEGER008
  114.     FGet 1, STRING004
  115.     FClose 1
  116.     If (Exist(PPEPath() + "strings.cfg")) Goto LABEL002
  117.     Log "[MATRIX] StringFile not found... (default loaded)", 0
  118.     STRING025 = "@X09D:\LOGIN\NODE@NODE@>"
  119.     STRING026 = "@X09[SunOS]["
  120.     STRING027 = "]%"
  121.     STRING028 = "@X09Since this is @X0DUNIX, @X09Try @X0DLS @X09dumbass..."
  122.     STRING029 = "@X09Like you thought you could get warez..."
  123.     STRING030 = "@X09FUCK OFF FED."
  124.     STRING031 = "@X09What the fuck did you run @X0DAPPLY@X09 for then?!?"
  125.     STRING032 = "@X05Access Denied - Excessive Command Line Usage..."
  126.     STRING033 = "@X09What the fuck did you run @X0DSYSOP @X09for then?!?"
  127.     STRING034 = "@X09Picky, Picky..."
  128.     STRING035 = "@X09 Since this is @X0DDOS@X09, Try @X0DDIR@X09, Jerky..."
  129.     STRING036 = "@X09Please enter [@X0DYES@X09] If you understand and comply with the above,"
  130.     STRING037 = "@X09or [@X0DV@X09]iew to review the disclaimer..."
  131.     Goto LABEL003
  132.     :LABEL002
  133.     FOpen 3, PPEPath() + "strings.cfg", 0, 0
  134.     FGet 3, STRING025
  135.     FGet 3, STRING026
  136.     FGet 3, STRING027
  137.     FGet 3, STRING028
  138.     FGet 3, STRING029
  139.     FGet 3, STRING030
  140.     FGet 3, STRING031
  141.     FGet 3, STRING032
  142.     FGet 3, STRING033
  143.     FGet 3, STRING034
  144.     FGet 3, STRING035
  145.     FGet 3, STRING036
  146.     FGet 3, STRING037
  147.     FClose 3
  148.     :LABEL003
  149.     If ((STRING004 == "YES") || (STRING004 == "yes")) Then
  150.         Goto LABEL004
  151.     Else
  152.         Goto LABEL008
  153.     Endif
  154.     :LABEL004
  155.     PrintLn "@X08─@X05─@X08─@X05──@X08───@X05─@X08───────@X05──@X08─@X0D─@X08─────────────────────────────────────────────────@X0A─@X08─@X02──@X08──@X02─@X0A─@X08──@X08"
  156.     PrintLn "@X08LoGiN @X05DiSCLaIMeR @X0DPPE - By Charlie X [SCuM]"
  157.     PrintLn "@X0DCopyNight (C) 1994 Scum PPE Division"
  158.     PrintLn "@X08─@X05─@X08─@X05──@X08───@X05─@X08───────@X05──@X08─@X0D─@X08─────────────────────────────────────────────────@X0A─@X08─@X02──@X08──@X02─@X0A─@X08──@X08"
  159.     PrintLn 
  160.     :LABEL005
  161.     INTEGER012 = 1
  162.     INTEGER013 = 1
  163.     DispFile PPEPath() + "disclaim.txt", 1
  164.     PrintLn "@X08─@X05─@X08─@X05──@X08───@X05─@X08───────@X05──@X08─@X0D─@X08─────────────────────────────────────────────────@X0A─@X08─@X02──@X08──@X02─@X0A─@X08──@X08"
  165.     PrintLn 
  166.     :LABEL006
  167.     STRING044 = ""
  168.     PrintLn STRING036
  169.     PrintLn STRING037
  170.     InputStr "@X09Response:_", STRING044, 13, 3, "YESYUPVNNO", 256 + 8
  171.     If (STRING044 == "V") Then
  172.         Goto LABEL005
  173.     Endif
  174.     If (STRING044 == "YES") Then
  175.         Goto LABEL008
  176.     Endif
  177.     If (STRING044 == "YUP") Then
  178.         Goto LABEL008
  179.     Endif
  180.     If ((STRING044 == "NO") || (STRING044 == "N")) Then
  181.         Goto LABEL007
  182.     Endif
  183.     INTEGER012 = INTEGER012 + 1
  184.     If (INTEGER012 == 4) Then
  185.         Goto LABEL007
  186.     Endif
  187.     Goto LABEL006
  188.     :LABEL007
  189.     PrintLn 
  190.     PrintLn 
  191.     PrintLn "@X0AAccess @X02Denied @X05- @X08Failure to comply with disclaimer."
  192.     PrintLn 
  193.     Hangup
  194.     :LABEL008
  195.     If (INTEGER008 == 0) Then
  196.         Goto LABEL009
  197.     Endif
  198.     INTEGER009 = Random(INTEGER008)
  199.     STRING024 = "welcome.an" + String(INTEGER009)
  200.     If ((INTEGER009 == 1) || (INTEGER009 == 0)) Then
  201.         STRING024 = "welcome.ans"
  202.     Endif
  203.     If (Exist(PPEPath() + STRING024)) Then
  204.         DispFile PPEPath() + STRING024, 1
  205.     Endif
  206.     :LABEL009
  207.     Cls
  208.     If ((STRING022 == "U") || (STRING022 == "u")) Then
  209.         Cls
  210.         PrintLn "@X09Trying @X0D" + STRING023 + " @X09(198.69.666.111)..."
  211.         PrintLn 
  212.         PrintLn "@X09Escape Character is ""^["" "
  213.         PrintLn 
  214.         PrintLn "@X09SunOS UNIX (" + STRING023 + ")"
  215.         PrintLn 
  216.         PrintLn "@X09Login: anonymous"
  217.         PrintLn 
  218.         PrintLn "@X09331 Guest login ok, type your name as password."
  219.         PrintLn 
  220.         PrintLn "@X09Password:"
  221.         PrintLn 
  222.         PrintLn "@X09230 Guest login ok, access restrictions apply."
  223.         PrintLn "@X09SunOS auto-login script executed at @X0D", Time()
  224.         PrintLn 
  225.         Goto LABEL013
  226.     Else
  227.         Cls
  228.         PrintLn 
  229.         PrintLn 
  230.         PrintLn "@X05CHAoS os/2 @X09PC-Compatible DOS "
  231.         PrintLn "@X09Version 1.oO by Charlie X [SCuM]"
  232.         PrintLn "@X09(C) CopyNight @X051994 @X09Scum PPE Division"
  233.         PrintLn 
  234.         Goto LABEL011
  235.     Endif
  236.     :LABEL010
  237.     If ((STRING022 == "U") || (STRING022 == "u")) Then
  238.         Goto LABEL012
  239.     Endif
  240.     PrintLn 
  241.     PrintLn "@X09 Volume in drive D has no label"
  242.     PrintLn "@X09 Volume Serial Number is 1AA8-3001"
  243.     PrintLn "@X09 Directory of @X05D:\PCB\LOGIN\NODE@NODE@"
  244.     PrintLn 
  245.     PrintLn "@X09.            <DIR>         12-04-92  10:34p"
  246.     PrintLn "@X09..           <DIR>         03-13-93   7:02p"
  247.     PrintLn "@X09WAREZ        <DIR>         04-03-93   9:35p"
  248.     PrintLn "@X09LOGIN    EXE         8,732 03-16-94  11:49p"
  249.     PrintLn "@X09APPLY    COM         4,534 04-11-94  11:52p"
  250.     PrintLn "@X09HANGUP   BAT         1,080 04-11-94  11:52p"
  251.     PrintLn "@X09CHECK    EXE         7,593 03-22-94   8:01p"
  252.     PrintLn "@X09VERSION  EXE         4,669 03-22-94  11:14p"
  253.     PrintLn "@X09SYSOP    COM         1,126 04-11-94  10:23p"
  254.     PrintLn "@X05        6 file(s)         27,734 bytes"
  255.     PrintLn "@X05                     687,184,384 bytes free"
  256.     :LABEL011
  257.     INTEGER002 = 0
  258.     INTEGER003 = 0
  259.     INTEGER004 = 0
  260.     STRING008 = ""
  261.     STRING014 = ""
  262.     If (STRING022 == "U") Then
  263.         Goto LABEL012
  264.     Endif
  265.     If (INTEGER007 == INTEGER006) Then
  266.         Goto LABEL025
  267.     Endif
  268.     INTEGER007 = INTEGER007 + 1
  269.     Print STRING025
  270.     InputStr "_", STRING002, STRING043, 25, Mask_Ascii(), 1024 + 8 + 256
  271.     If (STRING002 == "CLS") Then
  272.         Cls
  273.         Goto LABEL011
  274.     Endif
  275.     If (STRING002 == "DIR") Then
  276.         Cls
  277.         Goto LABEL010
  278.     Endif
  279.     If (STRING002 == "?") Then
  280.         PrintLn STRING035
  281.         Goto LABEL011
  282.     Endif
  283.     If ((STRING002 == "DIR /W") || (STRING002 == "DIR/W")) Then
  284.         Cls
  285.         Goto LABEL010
  286.     Endif
  287.     If (STRING002 == "") Then
  288.         Goto LABEL011
  289.     Endif
  290.     If (STRING002 == "CD WAREZ") Then
  291.         Goto LABEL017
  292.     Endif
  293.     If (STRING002 == "LOGIN") Then
  294.         Goto LABEL018
  295.     Endif
  296.     If (STRING002 == "LOGIN.EXE") Then
  297.         Goto LABEL018
  298.     Endif
  299.     If (STRING002 == "APPLY") Then
  300.         Goto LABEL021
  301.     Endif
  302.     If (STRING002 == "APPLY.COM") Then
  303.         Goto LABEL021
  304.     Endif
  305.     If (STRING002 == "HANGUP") Then
  306.         Hangup
  307.     Endif
  308.     If (STRING002 == "HANGUP.BAT") Then
  309.         Hangup
  310.     Endif
  311.     If (STRING002 == "CHECK") Then
  312.         Goto LABEL014
  313.     Endif
  314.     If (STRING002 == "CHECK.EXE") Then
  315.         Goto LABEL014
  316.     Endif
  317.     If (STRING002 == "VERSION") Then
  318.         Goto LABEL027
  319.     Endif
  320.     If (STRING002 == "VERSION.EXE") Then
  321.         Goto LABEL027
  322.     Endif
  323.     If (STRING002 == "SYSOP") Then
  324.         Goto LABEL028
  325.     Endif
  326.     If (STRING002 == "SYSOP.COM") Then
  327.         Goto LABEL028
  328.     Endif
  329.     If (STRING002 == Chr(13)) Then
  330.         Goto LABEL011
  331.     Endif
  332.     PrintLn "@X09Bad command or filename"
  333.     Goto LABEL011
  334.     :LABEL012
  335.     Cls
  336.     PrintLn 
  337.     PrintLn "@X0D200 @X09PORT command successful."
  338.     PrintLn "@X0D150 @X09Opening ASCII mode data connection for '/bin/ls'."
  339.     PrintLn "@X09total 8"
  340.     PrintLn "@X09d--x--x--x   2 root    @X0D0            512 @X09Mar 15 17:26 ."
  341.     PrintLn "@X09d--x--x--x   2 root    @X0D0            512 @X09Jan 30 14:33 warez"
  342.     PrintLn "@X09-rwxrwxrwx   4 root    @X0D0          8,732 @X09May 29 19:49 login.exe"
  343.     PrintLn "@X09-rwxrwxrwx   4 root    @X0D0          4,534 @X09May 29 19:49 apply.com"
  344.     PrintLn "@X09-rwxrwxrwx   4 root    @X0D0          1,080 @X09May 29 19:49 hangup.bat"
  345.     PrintLn "@X09-rwxrwxrwx   4 root    @X0D0          7,593 @X09May 29 19:49 check.exe"
  346.     PrintLn "@X09-rwxrwxrwx   4 root    @X0D0          4,469 @X09May 29 19:49 version.exe"
  347.     PrintLn "@X09-rwxrwxrwx   4 root    @X0D0          1,126 @X09May 29 19:49 sysop.com"
  348.     PrintLn "@X0D226 @X09Transfer complete."
  349.     PrintLn 
  350.     :LABEL013
  351.     If (INTEGER007 == INTEGER006) Then
  352.         Goto LABEL025
  353.     Endif
  354.     INTEGER007 = INTEGER007 + 1
  355.     Print STRING026, INTEGER007, STRING027
  356.     InputStr "_", STRING002, STRING043, 25, Mask_Ascii(), 1024 + 8 + 256
  357.     If (STRING002 == "CLS") Then
  358.         Cls
  359.         Goto LABEL013
  360.     Endif
  361.     If (((STRING002 == "LS") || (STRING002 == "LS -A")) || (STRING002 == "LS-A")) Then
  362.         Cls
  363.         Goto LABEL012
  364.     Endif
  365.     If (STRING002 == "?") Then
  366.         PrintLn STRING028
  367.         Goto LABEL012
  368.     Endif
  369.     If (STRING002 == "DIR") Then
  370.         Cls
  371.         Goto LABEL012
  372.     Endif
  373.     If (STRING002 == "") Then
  374.         Goto LABEL013
  375.     Endif
  376.     If (STRING002 == "CD WAREZ") Then
  377.         Goto LABEL017
  378.     Endif
  379.     If (STRING002 == "LOGIN") Then
  380.         Goto LABEL018
  381.     Endif
  382.     If (STRING002 == "LOGIN.EXE") Then
  383.         Goto LABEL018
  384.     Endif
  385.     If (STRING002 == "APPLY") Then
  386.         Goto LABEL021
  387.     Endif
  388.     If (STRING002 == "APPLY.COM") Then
  389.         Goto LABEL021
  390.     Endif
  391.     If (STRING002 == "HANGUP") Then
  392.         Hangup
  393.     Endif
  394.     If (STRING002 == "HANGUP.BAT") Then
  395.         Hangup
  396.     Endif
  397.     If (STRING002 == "CHECK") Then
  398.         Goto LABEL014
  399.     Endif
  400.     If (STRING002 == "CHECK.EXE") Then
  401.         Goto LABEL014
  402.     Endif
  403.     If (STRING002 == "VERSION") Then
  404.         Goto LABEL027
  405.     Endif
  406.     If (STRING002 == "VERSION.EXE") Then
  407.         Goto LABEL027
  408.     Endif
  409.     If (STRING002 == "SYSOP") Then
  410.         Goto LABEL028
  411.     Endif
  412.     If (STRING002 == "SYSOP.COM") Then
  413.         Goto LABEL028
  414.     Endif
  415.     If (STRING002 == Chr(13)) Then
  416.         Goto LABEL013
  417.     Endif
  418.     PrintLn "210 Invalid command syntax."
  419.     Goto LABEL013
  420.     :LABEL014
  421.     Cls
  422.     PrintLn 
  423.     PrintLn "@X05CHECK.EXE @X09- By Charlie X [SCuM]"
  424.     PrintLn "@X09CopyNight (C) 1994 Scum PPE Division"
  425.     PrintLn 
  426.     PrintLn "@X09 Please enter your handle and your password."
  427.     PrintLn "@X09 You will be given the system password if you"
  428.     PrintLn "@X09 are worthy..."
  429.     PrintLn 
  430.     InputStr "@X0DHandle »_", STRING003, STRING043, 25, Mask_Ascii(), 1024 + 256 + 128 + 8
  431.     INTEGER001 = U_RecNum(STRING003)
  432.     If (INTEGER001 == -1) Then
  433.         PrintLn "@X08────────────────────────────────────────────"
  434.         PrintLn "@X05Sorry. Handle does is not in the userfile.  "
  435.         PrintLn "@X05You must have been deleted or need to apply."
  436.         PrintLn "@X08────────────────────────────────────────────"
  437.         PrintLn 
  438.         Goto LABEL011
  439.     Endif
  440.     :LABEL015
  441.     GetAltUser INTEGER001
  442.     STRING010 = U_City
  443.     If (INTEGER002 == 3) Then
  444.         PrintLn 
  445.         Goto LABEL011
  446.     Endif
  447.     InputStr "@X0DPassword »_", STRING007, STRING043, 25, Mask_Ascii(), 1024 + 256 + 128 + 1 + 8
  448.     STRING009 = U_Pwd
  449.     If (STRING009 == STRING007) Then
  450.         Goto LABEL016
  451.     Else
  452.         PrintLn "@X05WRONG!"
  453.         INTEGER002 = INTEGER002 + 1
  454.         Goto LABEL015
  455.     Endif
  456.     :LABEL016
  457.     If (U_Sec > INTEGER005) Then
  458.         PrintLn "@X08────────────────────────────────────────────"
  459.         PrintLn "@X09  Handle » @X0D", STRING003
  460.         PrintLn "@X09Location » @X0D", STRING010
  461.         PrintLn "@X09You have been granted access to this system."
  462.         PrintLn "@X09The System Password is: @X0D", STRING016
  463.         PrintLn "@X08────────────────────────────────────────────"
  464.         PrintLn 
  465.         Goto LABEL011
  466.     Else
  467.         PrintLn "@X08─────────────────────────────────────────"
  468.         PrintLn "@X09  Handle » @X0D", STRING003
  469.         PrintLn "@X09Location » @X0D", STRING010
  470.         PrintLn "@X09SORRY! You have not yet been validated."
  471.         PrintLn "@X09Please check again later..."
  472.         PrintLn "@X08─────────────────────────────────────────"
  473.         PrintLn 
  474.         Goto LABEL011
  475.     Endif
  476.     :LABEL017
  477.     PrintLn STRING029
  478.     PrintLn STRING030
  479.     PrintLn 
  480.     Goto LABEL011
  481.     :LABEL018
  482.     Cls
  483.     PrintLn 
  484.     PrintLn "@X05LOGIN.EXE @X09- By Charlie X [SCuM]"
  485.     PrintLn "@X09CopyNight (C) 1994 Scum PPE Division"
  486.     PrintLn "@X09Login procedure for @BOARDNAME@"
  487.     PrintLn 
  488.     Select Case (STRING015)
  489.         Case "N", "NO"
  490.             PrintLn "@PAUSE@"
  491.         Case "n", "no"
  492.             PrintLn "@PAUSE@"
  493.             :LABEL019
  494.             If (INTEGER003 == 3) Then
  495.                 PrintLn 
  496.                 PrintLn 
  497.                 Goto LABEL011
  498.             Endif
  499.             Cls
  500.             PrintLn 
  501.             PrintLn 
  502.             PrintLn 
  503.             PrintLn 
  504.             PrintLn "@X08                       @X03┌┬────────────────────────────┬┐"
  505.             PrintLn "@X03                       ││ @X05Chaos ■ Clearance Password @X03││@X08█"
  506.             PrintLn "@X08                       @X03││ »                          ││@X08█"
  507.             PrintLn "@X08                       @X03└┴────────────────────────────┴┘@X08█"
  508.             PrintLn "@X08                        ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ "
  509.             STRING019 = "System Pw:" + STRING016 + "  Entered:" + STRING008
  510.             Gosub LABEL029
  511.             AnsiPos 28, 7
  512.             InputStr "_", STRING008, STRING043, 15, Mask_Ascii(), 1024 + 256 + 1 + 8
  513.         Case STRING016
  514.             AnsiPos 28, 7
  515.             PrintLn "                       "
  516.             AnsiPos 28, 7
  517.             PrintLn "@X05 Right!"
  518.         Case Else
  519.             STRING019 = "System Pw:" + STRING016 + "  Entered:" + STRING008
  520.             Gosub LABEL029
  521.             AnsiPos 28, 7
  522.             PrintLn "                       "
  523.             AnsiPos 28, 7
  524.             PrintLn "@X05 Wrong!"
  525.             Delay 18
  526.             AnsiPos 28, 7
  527.             PrintLn "                       "
  528.             INTEGER003 = INTEGER003 + 1
  529.             Goto LABEL019
  530.     End Select
  531.     Cls
  532.     PrintLn 
  533.     PrintLn 
  534.     PrintLn 
  535.     PrintLn 
  536.     PrintLn "@X08                    @X03┌┬────────────────────────────────────┬┐"
  537.     PrintLn "@X03                    ││    @X05Chaos ■ User Login Procedure    @X03││@X08█"
  538.     PrintLn "@X08                    @X03│╞════════════════════════════════════╡│@X08█"
  539.     PrintLn "@X08                    @X03││   @X0DAlias @X03»                          ││@X08█"
  540.     PrintLn "@X08                    @X03││@X0DLocation @X03»                          ││@X08█"
  541.     PrintLn "@X08                    @X03││@X0DPassword @X03»                          ││@X08█"
  542.     PrintLn "@X08                    @X03└┴────────────────────────────────────┴┘@X08█"
  543.     PrintLn "@X08                     ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀@X07"
  544.     PrintLn 
  545.     AnsiPos 35, 8
  546.     InputStr "_", STRING003, STRING043, 25, Mask_Ascii(), 1024 + 8
  547.     If (STRING003 == "") Then
  548.         AnsiPos 35, 8
  549.         InputStr "_", STRING003, STRING043, 25, Mask_Ascii(), 1024 + 8
  550.     Endif
  551.     INTEGER001 = U_RecNum(STRING003)
  552.     If (INTEGER001 == -1) Then
  553.         AnsiPos 33, 8
  554.         PrintLn "                        "
  555.         AnsiPos 33, 8
  556.         PrintLn "@X05Invalid UserName!"
  557.         Delay 32
  558.         Cls
  559.         Goto LABEL011
  560.     Endif
  561.     GetAltUser INTEGER001
  562.     STRING019 = "Name: " + STRING003 + "  Password: " + U_Pwd
  563.     Gosub LABEL029
  564.     STRING010 = U_City
  565.     STRING009 = U_Pwd
  566.     AnsiPos 35, 9
  567.     PrintLn STRING010
  568.     :LABEL020
  569.     If (INTEGER002 == 3) Then
  570.         PrintLn 
  571.         PrintLn 
  572.         Goto LABEL011
  573.     Endif
  574.     AnsiPos 35, 10
  575.     InputStr "_", STRING007, STRING043, 15, Mask_Ascii(), 1024 + 1 + 8
  576.     If (STRING007 == STRING009) Then
  577.         If (U_Sec < INTEGER005) Then
  578.             AnsiPos 35, 10
  579.             PrintLn "                        "
  580.             AnsiPos 35, 10
  581.             PrintLn 
  582.             PrintLn 
  583.             PrintLn 
  584.             PrintLn "@X05Doh! Not Validated Yet!"
  585.             Delay 32
  586.             Cls
  587.             Goto LABEL011
  588.         Endif
  589.         AnsiPos 35, 10
  590.         PrintLn "                      "
  591.         AnsiPos 35, 10
  592.         PrintLn "@X05-/- Loading System -/-"
  593.         Delay 18
  594.         Goto LABEL023
  595.     Else
  596.         AnsiPos 35, 10
  597.         PrintLn "                        "
  598.         AnsiPos 35, 10
  599.         PrintLn "@X05Password Incorrect!"
  600.         Delay 18
  601.         AnsiPos 35, 10
  602.         PrintLn "                    "
  603.         INTEGER002 = INTEGER002 + 1
  604.         Goto LABEL020
  605.     Endif
  606.     :LABEL021
  607.     Cls
  608.     PrintLn 
  609.     PrintLn "@X05APPLY.COM @X09- By Charlie X [SCuM]"
  610.     PrintLn "@X09CopyNight (C) 1994 Scum PPE Division"
  611.     PrintLn "@X09Application procedure for @BOARDNAME@"
  612.     PrintLn 
  613.     InputYN "@X09Do you wish to apply [@X0DY/N@X09]", STRING017, 0
  614.     If (STRING017 == "N") Then
  615.         PrintLn 
  616.         PrintLn STRING031
  617.         PrintLn 
  618.         Goto LABEL011
  619.     Endif
  620.     :LABEL022
  621.     If ((STRING012 == "N") || (STRING012 == "NO")) Then
  622.         Goto LABEL026
  623.     Endif
  624.     If ((STRING012 == "n") || (STRING012 == "no")) Then
  625.         Goto LABEL026
  626.     Endif
  627.     Cls
  628.     If (INTEGER004 == 3) Then
  629.         Cls
  630.         PrintLn 
  631.         PrintLn 
  632.         PrintLn 
  633.         PrintLn 
  634.         PrintLn "@X08                    @X03┌┬────────────────────────────────────┬┐"
  635.         PrintLn "@X03                    ││     @X05Chaos ■ NUP Failure Message    @X03││@X08█"
  636.         PrintLn "@X08                    @X03│╞════════════════════════════════════╡│@X08█"
  637.         PrintLn "@X08                    @X03││ @X0DYou must have the NUP to apply.    @X03││@X08█"
  638.         PrintLn "@X08                    @X03││ @X0DType SYSOP to leave a note and you @X03││@X08█"
  639.         PrintLn "@X08                    @X03││ @X0Dmay be contacted with a valid NUP. @X03││@X08█"
  640.         PrintLn "@X08                    @X03└┴────────────────────────────────────┴┘@X08█"
  641.         PrintLn "@X08                     ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀@X07"
  642.         PrintLn 
  643.         PrintLn 
  644.         PrintLn 
  645.         PrintLn "@PAUSE@"
  646.         STRING019 = ""
  647.         Gosub LABEL029
  648.         Goto LABEL011
  649.     Endif
  650.     PrintLn 
  651.     PrintLn 
  652.     PrintLn 
  653.     PrintLn 
  654.     PrintLn "@X08                       @X03┌┬────────────────────────────┬┐"
  655.     PrintLn "@X03                       ││ @X05Chaos ■ New Lamer Password @X03││@X08█"
  656.     PrintLn "@X08                       @X03││ »                          ││@X08█"
  657.     PrintLn "@X08                       @X03└┴────────────────────────────┴┘@X08█"
  658.     PrintLn "@X08                        ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀ "
  659.     STRING019 = "NUP: " + STRING013 + "  Entered: " + STRING014
  660.     Gosub LABEL029
  661.     AnsiPos 28, 7
  662.     InputStr "_", STRING014, STRING043, 25, Mask_Ascii(), 1024 + 1 + 8
  663.     If (STRING014 == STRING013) Then
  664.         Goto LABEL026
  665.     Else
  666.         INTEGER004 = INTEGER004 + 1
  667.         AnsiPos 28, 7
  668.         PrintLn "               "
  669.         AnsiPos 28, 7
  670.         PrintLn "@X05Wrong!"
  671.         Delay 12
  672.         Goto LABEL022
  673.     Endif
  674.     PrintLn 
  675.     Goto LABEL011
  676.     :LABEL023
  677.     STRING020 = ""
  678.     STRING019 = ""
  679.     Gosub LABEL029
  680.     If ((U_Sec == 110) && Exist(PPEPath() + "SYSOP.TXT")) Then
  681.         PrintLn 
  682.         PrintLn 
  683.         PrintLn 
  684.         PrintLn 
  685.         PrintLn 
  686.         PrintLn "@X09There is new user mail to the sysop."
  687.         InputYN "@X09Read Matrix Mail ", STRING020, 0
  688.         If (STRING020 == "Y") Then
  689.             PrintLn 
  690.             DispFile PPEPath() + "SYSOP.TXT", 1
  691.             PrintLn "-/\/- EOF -\/\-"
  692.             PrintLn 
  693.             InputYN "@X09Delete Matrix Mail", STRING021, 0
  694.             If (STRING021 == "Y") Then
  695.                 Delete PPEPath() + "sysop.txt"
  696.                 PrintLn 
  697.                 PrintLn "@X09Mail Hosed."
  698.             Endif
  699.             Goto LABEL024
  700.         Endif
  701.         PrintLn 
  702.         PrintLn "@X09Screw the lamers then..."
  703.     Endif
  704.     :LABEL024
  705.     PrintLn 
  706.     PrintLn 
  707.     PrintLn 
  708.     INTEGER001 = InStr(STRING003, Chr(32))
  709.     If (INTEGER001 == 0) Then
  710.         KbdStuff STRING003 + STRING001 + STRING001 + STRING009 + STRING001
  711.     Else
  712.         KbdStuff STRING003 + STRING001 + STRING009 + STRING001
  713.     Endif
  714.     PrintLn "@PON@"
  715.     Goto LABEL030
  716.     :LABEL025
  717.     PrintLn STRING032
  718.     Hangup
  719.     End
  720.     :LABEL026
  721.     STRING019 = ""
  722.     Gosub LABEL029
  723.     AnsiPos 28, 7
  724.     PrintLn "@X09Log in as new user..."
  725.     PrintLn 
  726.     PrintLn 
  727.     PrintLn 
  728.     PrintLn 
  729.     End
  730.     :LABEL027
  731.     Cls
  732.     PrintLn "@X05CHAoS OS/2 @X09PC-Compatible DOS"
  733.     PrintLn "@X09Version 1.oO by Charlie X [SCuM]"
  734.     PrintLn "@X09(C) CopyNight @X051994 @X09Scum PPE Division"
  735.     PrintLn 
  736.     PrintLn "@X08 ────────────────────────────────────"
  737.     PrintLn "@X09 Complete Code by @X05Charlie X [SCuM]"
  738.     PrintLn "@X09 Compiled in PCBoard PPLC 2.0"
  739.     PrintLn "@X09 Registered to: @X0D@BOARDNAME@"
  740.     PrintLn "@X08 ────────────────────────────────────"
  741.     PrintLn 
  742.     PrintLn "@X09 Greets to:  Liquidator"
  743.     PrintLn "@X09             Kurt Cobain (You're Dead)"
  744.     PrintLn "@X09             Nyquil (zzzz...)"
  745.     PrintLn 
  746.     PrintLn 
  747.     Goto LABEL011
  748.     :LABEL028
  749.     PrintLn "@X05SYSOP.EXE @X09- (C) 1994 Scum PPE Division"
  750.     PrintLn "@X09Matrix comment to SysOp procedure"
  751.     InputYN "@X09Do you wish to leave a messy [@X0DY/N@X09]", STRING018, 0
  752.     If (STRING018 == "N") Then
  753.         PrintLn 
  754.         PrintLn STRING033
  755.         PrintLn "@PAUSE@"
  756.         PrintLn 
  757.         Goto LABEL011
  758.     Endif
  759.     PrintLn 
  760.     InputStr "@X09Handle »_", STRING003, STRING043, 25, Mask_Ascii(), 1024 + 8 + 256
  761.     InputStr "@X09 Title »_", STRING006, STRING043, 25, Mask_Ascii(), 1024 + 8 + 256 + 128
  762.     PrintLn 
  763.     PrintLn "@X09Please write your message using @X055 @X09lines maximum and up to @X0575@X09 chars"
  764.     PrintLn "@X09per line... Be sure to include all important info so you don't get overlooked"
  765.     PrintLn "@X09and can be contacted if necessary... Hit [εNTεR] on extra lines..."
  766.     PrintLn "@X08───────────────────────────────────────────────────────────────────────────────"
  767.     InputStr "@X091»_", STRING045, STRING043, 75, Mask_Ascii(), 16 + 256 + 512
  768.     InputStr "@X092»_", STRING046, STRING043, 75, Mask_Ascii(), 16 + 256 + 512
  769.     InputStr "@X093»_", STRING047, STRING043, 75, Mask_Ascii(), 16 + 256 + 512
  770.     InputStr "@X094»_", STRING048, STRING043, 75, Mask_Ascii(), 16 + 256 + 512
  771.     InputStr "@X095»_", STRING049, STRING043, 75, Mask_Ascii(), 256
  772.     PrintLn 
  773.     InputYN "@X09is this what you want [@X0DY/N@X09]", STRING018, 0
  774.     If (STRING018 == "N") Then
  775.         PrintLn 
  776.         PrintLn STRING034
  777.         PrintLn 
  778.         Delay 18
  779.         PrintLn 
  780.         Goto LABEL011
  781.     Else
  782.         FAppend 2, PPEPath() + "sysop.txt", 2, 2
  783.         FPutLn 2, "┌───]MATRiX MAiL[──────· ·"
  784.         FPutLn 2, "│ FRoM│ " + STRING003
  785.         FPutLn 2, "│TiTLε│ " + STRING006
  786.         FPutLn 2, "│ DATε│ ", Date()
  787.         FPutLn 2, "│ TIMε│ ", Time()
  788.         FPutLn 2, "│"
  789.         FPutLn 2, "│1│" + STRING045
  790.         FPutLn 2, "│2│" + STRING046
  791.         FPutLn 2, "│3│" + STRING047
  792.         FPutLn 2, "│4│" + STRING048
  793.         FPutLn 2, "│5│" + STRING049
  794.         FPutLn 2, "╘════[END]═════───· ·"
  795.         FPutLn 2, "@PAUSE@" + STRING042
  796.         FClose 2
  797.         PrintLn 
  798.         PrintLn "@X09Message to SysOp saved..."
  799.         PrintLn 
  800.     Endif
  801.     Goto LABEL011
  802.     :LABEL029
  803.     INTEGER010 = GetX()
  804.     INTEGER011 = GetY()
  805.     SPrint STRING040, STRING041
  806.     SPrint STRING019
  807.     SPrint STRING039 + String(INTEGER011) + ";" + String(INTEGER010) + "H"
  808.     Return
  809.     :LABEL030
  810.     ShowOn
  811.     End
  812.  
  813. ;------------------------------------------------------------------------------
  814. ;
  815. ; Usage report (before postprocessing)
  816. ;
  817. ; ■ Statements used :
  818. ;
  819. ;    3       End
  820. ;    20      Cls
  821. ;    169     Goto 
  822. ;    61      Let 
  823. ;    2       Print 
  824. ;    246     PrintLn 
  825. ;    78      If 
  826. ;    3       DispFile 
  827. ;    2       FOpen 
  828. ;    1       FAppend 
  829. ;    3       FClose 
  830. ;    23      FGet 
  831. ;    13      FPutLn 
  832. ;    7       Hangup
  833. ;    1       Delete 
  834. ;    2       Log 
  835. ;    17      InputStr 
  836. ;    5       InputYN 
  837. ;    7       Gosub 
  838. ;    1       Return
  839. ;    7       Delay 
  840. ;    2       KbdStuff 
  841. ;    23      AnsiPos 
  842. ;    3       SPrint 
  843. ;    1       ShowOn
  844. ;    2       GetAltUser 
  845. ;
  846. ;
  847. ; ■ Functions used :
  848. ;
  849. ;    2       -
  850. ;    92      +
  851. ;    85      ==
  852. ;    1       <
  853. ;    1       >
  854. ;    78      !
  855. ;    1       &&
  856. ;    12      ||
  857. ;    8       Chr()
  858. ;    1       InStr()
  859. ;    1       Random()
  860. ;    1       Date()
  861. ;    2       Time()
  862. ;    3       String()
  863. ;    16      Mask_Ascii()
  864. ;    2       PCBDat()
  865. ;    11      PPEPath()
  866. ;    2       ReadLine()
  867. ;    4       Exist()
  868. ;    1       GetX()
  869. ;    1       GetY()
  870. ;    2       U_RecNum()
  871. ;
  872. ;------------------------------------------------------------------------------
  873. ;
  874. ; Analysis flags : RBdH
  875. ;
  876. ; R - Read user ■ 5
  877. ;     User records are read, this may signify that someone wants to get
  878. ;     various informations about a user (for example his password), but
  879. ;     this may also be normal for a program accessing user records (for
  880. ;     example a User Editor)
  881. ;     ■ Search for : GETALTUSER
  882. ;
  883. ; B - Brute hangup ■ 1
  884. ;     Program hangup without notification. This may be a good way to
  885. ;     disconnect a user, but if used randomly, may be very nasty
  886. ;     ■ Search for : HANGUP, DTROFF
  887. ;
  888. ; d - Access PCBOARD.DAT ■ 2
  889. ;     Program gets the full pathname to PCBOARD.DAT, this may be usefull
  890. ;     for many PPE so they can find various informations on the system
  891. ;     (system paths, max number of lines in messages, ...) but it may also
  892. ;     be a way to gather vital informations.
  893. ;     ■ Search for : PCBDAT()
  894. ;
  895. ; H - Read Password or Password History ■ 5
  896. ;     Program is reading the user's password or last password history
  897. ;     This may be ok for a password manager, but it is very suspect. Check!
  898. ;     ■ Search for : U_PWDHIST, U_PWD
  899. ;
  900. ;------------------------------------------------------------------------------
  901. ;
  902. ; Postprocessing report
  903. ;
  904. ;    0       For/Next
  905. ;    0       While/EndWhile
  906. ;    73      If/Then or If/Then/Else
  907. ;    1       Select Case
  908. ;
  909. ;------------------------------------------------------------------------------
  910. ;                 AEGiS Corp - Break the routines, code against the machines!
  911. ;------------------------------------------------------------------------------
  912.