home *** CD-ROM | disk | FTP | other *** search
/ Collection of Hack-Phreak Scene Programs / cleanhpvac.zip / cleanhpvac / VAULTUNR.ZIP / VAULT.PPE (.txt) < prev   
PCBoard Programming Language Executable  |  1994-04-13  |  16KB  |  589 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.     Date     DATE001
  20.     Integer  INTEGER001
  21.     Integer  INTEGER002
  22.     Integer  INTEGER003
  23.     Integer  INTEGER004
  24.     Integer  INTEGER005
  25.     Integer  INTEGER006
  26.     Integer  INTEGER007
  27.     Integer  INTEGER008
  28.     Integer  INTEGER009
  29.     Integer  INTEGER010
  30.     Integer  INTEGER011
  31.     Integer  INTEGER012
  32.     Integer  INTEGER013
  33.     Integer  INTEGER014
  34.     String   STRING002
  35.     String   STRING003
  36.     String   STRING004
  37.     String   STRING005
  38.     String   STRING006
  39.     String   STRING007
  40.     String   STRING008
  41.     String   TSTRING009(16)
  42.  
  43. ;------------------------------------------------------------------------------
  44.  
  45.     STRING002 = ""
  46.     TSTRING009(0) = "0"
  47.     TSTRING009(1) = "1"
  48.     TSTRING009(2) = "2"
  49.     TSTRING009(3) = "3"
  50.     TSTRING009(4) = "4"
  51.     TSTRING009(5) = "5"
  52.     TSTRING009(6) = "6"
  53.     TSTRING009(7) = "7"
  54.     TSTRING009(8) = "8"
  55.     TSTRING009(9) = "9"
  56.     TSTRING009(10) = "A"
  57.     TSTRING009(11) = "B"
  58.     TSTRING009(12) = "C"
  59.     TSTRING009(13) = "D"
  60.     TSTRING009(14) = "E"
  61.     TSTRING009(15) = "F"
  62.     GetUser
  63.     Log "VAULT PPE: entered", 0
  64.     FOpen 1, PPEPath() + "VAULT.CFG", 0, 0
  65.     If (Ferr(1)) Then
  66.         Print "VAULT: could not open VAULT.CFG, exiting..."
  67.         Log "VAULT: could not open VAULT.CFG", 0
  68.     Else
  69.         FGet 1, STRING006
  70.         FGet 1, STRING007
  71.         FGet 1, STRING008
  72.         FGet 1, STRING005
  73.         INTEGER003 = S2I(STRING005, 10)
  74.         FGet 1, STRING005
  75.         INTEGER004 = S2I(STRING005, 10)
  76.         FGet 1, STRING005
  77.         INTEGER007 = S2I(STRING005, 10)
  78.         FGet 1, STRING005
  79.         INTEGER008 = S2I(STRING005, 10)
  80.         FGet 1, STRING005
  81.         INTEGER009 = S2I(STRING005, 10)
  82.         FGet 1, STRING005
  83.         INTEGER010 = S2I(STRING005, 10)
  84.         FGet 1, STRING005
  85.         INTEGER011 = S2I(STRING005, 10)
  86.         FGet 1, STRING005
  87.         INTEGER012 = S2I(STRING005, 10)
  88.         If (Ferr(1)) Then
  89.             Print "VAULT: error reading VAULT.CFG, exiting..."
  90.             Log "VAULT: error reading VAULT.CFG, exiting...", 0
  91.         Else
  92.             FClose 1
  93.             STRING006 = Upper(STRING006)
  94.             STRING007 = Upper(STRING007)
  95.             STRING008 = Upper(STRING008)
  96.             If (STRING006 == "RANDOM") STRING006 = TSTRING009(Random(15))
  97.             If (STRING007 == "RANDOM") Then
  98.                 INTEGER014 = Random(7)
  99.                 STRING007 = TSTRING009(INTEGER014)
  100.                 STRING008 = TSTRING009(INTEGER014 + 8)
  101.             Endif
  102.             STRING003 = ""
  103.             INTEGER001 = S2I(RTrim(U_Notes(0), " "), 10)
  104.             INTEGER002 = S2I(RTrim(U_Notes(1), " "), 10)
  105.             INTEGER005 = S2I(RTrim(U_Notes(2), " "), 10)
  106.             INTEGER006 = S2I(RTrim(U_Notes(3), " "), 10)
  107.             DATE001 = RTrim(U_Notes(4), " ")
  108.             If (DATE001 <> Date()) Then
  109.                 INTEGER002 = 0
  110.                 INTEGER006 = 0
  111.             Endif
  112.             INTEGER013 = 0
  113.             While (INTEGER013 <> 1) Do
  114.                 If (INTEGER001 > INTEGER011) INTEGER001 = INTEGER011
  115.                 If (INTEGER005 > INTEGER012) INTEGER001 = INTEGER012
  116.                 STRING004 = ""
  117.                 Gosub LABEL024
  118.                 Gosub LABEL001
  119.                 Gosub LABEL002
  120.                 Gosub LABEL006
  121.             EndWhile
  122.         Endif
  123.     Endif
  124.     U_Notes(0) = I2S(INTEGER001, 10)
  125.     U_Notes(1) = I2S(INTEGER002, 10)
  126.     U_Notes(2) = I2S(INTEGER005, 10)
  127.     U_Notes(3) = I2S(INTEGER006, 10)
  128.     U_Notes(4) = Date()
  129.     PutUser
  130.     Log "VAULT PPE: exited", 0
  131.     DefColor
  132.     Print "@CLS@"
  133.     End
  134.     :LABEL001
  135.     Color 15
  136.     AnsiPos 22, 6
  137.     Print "@BYTELIMIT@"
  138.     AnsiPos 22, 8
  139.     Print U_BdlDay()
  140.     AnsiPos 22, 10
  141.     Print "@BYTESLEFT:10@"
  142.     AnsiPos 22, 10
  143.     STRING003 = ScrText(22, 10, 10, 0)
  144.     STRING003 = Strip(STRING003, ",")
  145.     STRING003 = Strip(STRING003, " ")
  146.     AnsiPos 22, 12
  147.     Print INTEGER003
  148.     AnsiPos 22, 14
  149.     Print INTEGER002
  150.     AnsiPos 22, 16
  151.     Print INTEGER001
  152.     AnsiPos 22, 18
  153.     Print INTEGER004
  154.     AnsiPos 61, 6
  155.     Print "@TIMELIMIT@"
  156.     AnsiPos 61, 8
  157.     Print "@TIMEUSED@"
  158.     AnsiPos 61, 10
  159.     Print "@TIMELEFT@"
  160.     AnsiPos 61, 12
  161.     Print INTEGER007
  162.     AnsiPos 61, 14
  163.     Print INTEGER006
  164.     AnsiPos 61, 16
  165.     Print INTEGER005
  166.     AnsiPos 61, 18
  167.     Print INTEGER008
  168.     Return
  169.     :LABEL002
  170.     Gosub LABEL003
  171.     InputStr "_", STRING004, 15, 40, "DWEGHQTB0123456789 ", 8
  172.     Tokenize STRING004
  173.     Return
  174.     :LABEL003
  175.     AnsiPos 13, 21
  176.     STRING005 = ""
  177.     STRING005 = Mid(STRING005, 1, 56)
  178.     Print STRING005
  179.     AnsiPos 13, 21
  180.     Return
  181.     :LABEL004
  182.     Gosub LABEL003
  183.     InputStr "(T)ime (B)ytes E(X)it: _", STRING004, 15, 1, "TBX~", 8
  184.     Return
  185.     :LABEL005
  186.     Gosub LABEL003
  187.     InputStr "How Much (ENTER = 0): _", STRING004, 15, 40, "0123456789", 8
  188.     Return
  189.     :LABEL006
  190.     STRING004 = GetToken()
  191.     Select Case (STRING004)
  192.         Case "D"
  193.             Gosub LABEL009
  194.         Case "W"
  195.             Gosub LABEL007
  196.         Case "E"
  197.             Gosub LABEL011
  198.         Case "G"
  199.             Gosub LABEL013
  200.         Case "H"
  201.             Gosub LABEL025
  202.         Case "Q"
  203.             INTEGER013 = 1
  204.         Case Else
  205.             Gosub LABEL023
  206.     End Select
  207.     Return
  208.     :LABEL007
  209.     STRING004 = GetToken()
  210.     :LABEL008
  211.     Select Case (STRING004)
  212.         Case "T"
  213.             Gosub LABEL020
  214.         Case "B"
  215.             Gosub LABEL021
  216.         Case "X"
  217.             Return
  218.         Case Else
  219.             Gosub LABEL004
  220.             Goto LABEL008
  221.     End Select
  222.     Return
  223.     :LABEL009
  224.     STRING004 = GetToken()
  225.     :LABEL010
  226.     Select Case (STRING004)
  227.         Case "T"
  228.             Gosub LABEL019
  229.         Case "B"
  230.             Gosub LABEL022
  231.         Case "X"
  232.             Return
  233.         Case Else
  234.             Gosub LABEL004
  235.             Goto LABEL010
  236.     End Select
  237.     Return
  238.     :LABEL011
  239.     STRING004 = GetToken()
  240.     :LABEL012
  241.     Select Case (STRING004)
  242.         Case "T"
  243.             Gosub LABEL017
  244.         Case "B"
  245.             Gosub LABEL018
  246.         Case "X"
  247.             Return
  248.         Case Else
  249.             Gosub LABEL004
  250.             Goto LABEL012
  251.     End Select
  252.     Return
  253.     :LABEL013
  254.     STRING004 = GetToken()
  255.     :LABEL014
  256.     Select Case (STRING004)
  257.         Case "T"
  258.             Gosub LABEL015
  259.         Case "B"
  260.             Gosub LABEL016
  261.         Case "X"
  262.             Return
  263.         Case "~"
  264.             Gosub LABEL003
  265.             Print STRING002
  266.             Print "@WAIT@"
  267.             Return
  268.         Case Else
  269.             Gosub LABEL004
  270.             Goto LABEL014
  271.     End Select
  272.     Return
  273.     :LABEL015
  274.     STRING004 = GetToken()
  275.     If (STRING004 == "") Gosub LABEL005
  276.     If (S2I(STRING004, 10) <= MinLeft()) Then
  277.         If (Random(100) <= INTEGER010) Then
  278.             AdjTime S2I(STRING004, 10)
  279.             Gosub LABEL003
  280.             Print "@X0AYou Won " + STRING004 + " Minutes! "
  281.             Print "@WAIT@"
  282.         Else
  283.             AdjTime -1 * S2I(STRING004, 10)
  284.             Gosub LABEL003
  285.             Print "@X0CYou've Lost " + STRING004 + " Minutes! "
  286.             Print "@WAIT@"
  287.         Endif
  288.     Else
  289.         Gosub LABEL003
  290.         Print "@X0CNot enough minutes left. "
  291.         Print "@WAIT@"
  292.     Endif
  293.     Return
  294.     :LABEL016
  295.     STRING004 = GetToken()
  296.     If (STRING004 == "") Gosub LABEL005
  297.     If (STRING003 == "Unlimited") Then
  298.         Gosub LABEL003
  299.         Print "@X0CYou have unlimited bytes already! "
  300.         Print "@WAIT@"
  301.         Return
  302.     Endif
  303.     If (S2I(STRING004, 10) <= S2I(STRING003, 10)) Then
  304.         If (Random(100) <= INTEGER009) Then
  305.             AdjBytes S2I(STRING004, 10) * -1
  306.             Gosub LABEL003
  307.             Print "@X0AYou Won " + STRING004 + " Bytes! "
  308.             Print "@WAIT@"
  309.         Else
  310.             AdjBytes S2I(STRING004, 10)
  311.             Gosub LABEL003
  312.             Print "@X0CYou've Lost " + STRING004 + " Bytes! "
  313.             Print "@WAIT@"
  314.         Endif
  315.     Else
  316.         Gosub LABEL003
  317.         Print "@X0CNot enough bytes left. "
  318.         Print "@WAIT@"
  319.     Endif
  320.     Return
  321.     :LABEL017
  322.     STRING004 = GetToken()
  323.     If (STRING004 == "") Gosub LABEL005
  324.     If (STRING003 == "Unlimited") Then
  325.         Gosub LABEL003
  326.         Print "@X0CYou have unlimited bytes already! "
  327.         Print "@WAIT@"
  328.         Return
  329.     Endif
  330.     If (S2I(STRING004, 10) <= MinLeft()) Then
  331.         STRING003 = I2S(S2I(STRING003, 10) + INTEGER008 * S2I(STRING004, 10), 10)
  332.         AdjTime -1 * S2I(STRING004, 10)
  333.         AdjBytes (S2I(STRING004, 10) * INTEGER008) * -1
  334.     Else
  335.         Gosub LABEL003
  336.         Print "@X0CNot enough minutes left. "
  337.         Print "@WAIT@"
  338.     Endif
  339.     Return
  340.     :LABEL018
  341.     STRING004 = GetToken()
  342.     If (STRING004 == "") Gosub LABEL005
  343.     If (STRING003 == "Unlimited") Then
  344.         AdjTime S2I(STRING004, 10) / INTEGER004
  345.         Return
  346.     Endif
  347.     If (S2I(STRING004, 10) <= S2I(STRING003, 10)) Then
  348.         STRING003 = S2I(I2S(S2I(STRING003, 10) - S2I(STRING004, 10), 10), 10)
  349.         AdjBytes S2I(STRING004, 10)
  350.         AdjTime S2I(STRING004, 10) / INTEGER004
  351.     Else
  352.         Gosub LABEL003
  353.         Print "@X0CNot enough Bytes left. "
  354.         Print "@WAIT@"
  355.     Endif
  356.     Return
  357.     :LABEL019
  358.     STRING004 = GetToken()
  359.     If (STRING004 == "") Gosub LABEL005
  360.     If (S2I(STRING004, 10) <= MinLeft()) Then
  361.         If (S2I(STRING004, 10) + INTEGER005 > INTEGER012) Then
  362.             AdjTime -1 * INTEGER012 - INTEGER005
  363.             INTEGER005 = INTEGER012
  364.             Gosub LABEL003
  365.             Print "@X0CYour account is full. "
  366.             Print "@WAIT@"
  367.             Return
  368.         Endif
  369.         INTEGER005 = INTEGER005 + S2I(STRING004, 10)
  370.         AdjTime -1 * S2I(STRING004, 10)
  371.     Else
  372.         Gosub LABEL003
  373.         Print "@X0CNot enough minutes left. "
  374.         Print "@WAIT@"
  375.     Endif
  376.     Return
  377.     :LABEL020
  378.     STRING004 = GetToken()
  379.     If (STRING004 == "") Gosub LABEL005
  380.     If ((S2I(STRING004, 10) <= INTEGER005) && (S2I(STRING004, 10) + INTEGER006 <= INTEGER007)) Then
  381.         INTEGER005 = INTEGER005 - S2I(STRING004, 10)
  382.         INTEGER006 = INTEGER006 + S2I(STRING004, 10)
  383.         AdjTime S2I(STRING004, 10)
  384.     Else
  385.         Gosub LABEL003
  386.         Print "@X0CMaximum withdrawel reached. "
  387.         Print "@WAIT@"
  388.     Endif
  389.     Return
  390.     :LABEL021
  391.     STRING004 = GetToken()
  392.     If (STRING004 == "") Gosub LABEL005
  393.     If (STRING003 == "Unlimited") Then
  394.         Gosub LABEL003
  395.         Print "@X0CYou have unlimited bytes already! "
  396.         Print "@WAIT@"
  397.         Return
  398.     Endif
  399.     If ((S2I(STRING004, 10) <= INTEGER001) && (S2I(STRING004, 10) + INTEGER002 <= INTEGER003)) Then
  400.         INTEGER001 = INTEGER001 - S2I(STRING004, 10)
  401.         INTEGER002 = INTEGER002 + S2I(STRING004, 10)
  402.         STRING003 = I2S(S2I(STRING003, 10) + S2I(STRING004, 10), 10)
  403.         AdjBytes S2I(STRING004, 10) * -1
  404.     Else
  405.         Gosub LABEL003
  406.         Print "@X0CMaximum withdrawel reached. "
  407.         Print "@WAIT@"
  408.     Endif
  409.     Return
  410.     :LABEL022
  411.     STRING004 = GetToken()
  412.     If (STRING004 == "") Gosub LABEL005
  413.     If (STRING003 == "Unlimited") Then
  414.         Gosub LABEL003
  415.         Print "@X0CYou have unlimited bytes already! "
  416.         Print "@WAIT@"
  417.         Return
  418.     Endif
  419.     If (S2I(STRING004, 10) <= S2I(STRING003, 10)) Then
  420.         If (S2I(STRING004, 10) + INTEGER001 > INTEGER011) Then
  421.             STRING003 = S2I(STRING003, 10) - INTEGER011 - INTEGER001
  422.             AdjBytes INTEGER011 - INTEGER001
  423.             INTEGER001 = INTEGER011
  424.             Gosub LABEL003
  425.             Print "@X0CYour account is full. "
  426.             Print "@WAIT@"
  427.             Return
  428.         Endif
  429.         STRING003 = I2S(S2I(STRING003, 10) - S2I(STRING004, 10), 10)
  430.         AdjBytes S2I(STRING004, 10)
  431.     Else
  432.         Gosub LABEL003
  433.         Print "@X0CNot enough bytes left. "
  434.         Print "@WAIT@"
  435.     Endif
  436.     Return
  437.     :LABEL023
  438.     Gosub LABEL003
  439.     Print "@X0CBAD COMMAND. "
  440.     Print "@WAIT@"
  441.     Return
  442.     :LABEL024
  443.     PrintLn "@POFF@@CLS@@X0" + STRING008 + "▐@X" + STRING007 + STRING008 + "┌───────────────────────────────────────────────────────────────────────────@X" + STRING007 + "0┐@X08▌"
  444.     PrintLn "@X0" + STRING008 + "▐@X" + STRING007 + STRING008 + "│  @X" + STRING007 + STRING006 + "VAULT.PPE ■ COPYRIGHT 1994 ROBERT BROWER ■ TOTAL ACCESS: (905) 568-5294  @X" + STRING007 + "0│@X08▌"
  445.     PrintLn "@X0" + STRING008 + "▐@X" + STRING007 + STRING008 + "└@X" + STRING007 + "0───────────────────────────────────────────────────────────────────────────┘@X08▌"
  446.     PrintLn "@X0" + STRING008 + "▐@X" + STRING007 + STRING008 + "    (@X" + STRING007 + STRING006 + "D@X" + STRING007 + STRING008 + ")EPOSIT (@X" + STRING007 + STRING006 + "W@X" + STRING007 + STRING008 + ")ITHDRAW (@X" + STRING007 + STRING006 + "E@X" + STRING007 + STRING008 + ")XCHANGE (@X" + STRING007 + STRING006 + "G@X" + STRING007 + STRING008 + ")AMBLE (@X" + STRING007 + STRING006 + "T@X" + STRING007 + STRING008 + ")IME (@X" + STRING007 + STRING006 + "B@X" + STRING007 + STRING008 + ")YTES (@X" + STRING007 + STRING006 + "Q@X" + STRING007 + STRING008 + ")UIT (@X" + STRING007 + STRING006 + "H@X" + STRING007 + STRING008 + ")ELP    @X08▌"
  447.     PrintLn "@X0" + STRING008 + "▐@X" + STRING007 + STRING008 + "┌────────────────────────────────────@X" + STRING007 + "0┐ @X" + STRING007 + STRING008 + "┌────────────────────────────────────@X" + STRING007 + "0┐@X08▌"
  448.     PrintLn "@X0" + STRING008 + "▐@X" + STRING007 + STRING008 + "│ Daily Byte Limit: @X0F                @X" + STRING007 + STRING008 + " @X" + STRING007 + "0│ @X" + STRING007 + STRING008 + "│ Daily Time Limit: @X07                @X" + STRING007 + STRING008 + " @X" + STRING007 + "0│@X08▌"
  449.     PrintLn "@X0" + STRING008 + "▐@X" + STRING007 + STRING008 + "│                                    @X" + STRING007 + "0│ @X" + STRING007 + STRING008 + "│                                    @X" + STRING007 + "0│@X08▌"
  450.     PrintLn "@X0" + STRING008 + "▐@X" + STRING007 + STRING008 + "│ Bytes Used Today: @X0F                @X" + STRING007 + STRING008 + " @X" + STRING007 + "0│ @X" + STRING007 + STRING008 + "│  Time Used Today: @X07                @X" + STRING007 + STRING008 + " @X" + STRING007 + "0│@X08▌"
  451.     PrintLn "@X0" + STRING008 + "▐@X" + STRING007 + STRING008 + "│                                    @X" + STRING007 + "0│ @X" + STRING007 + STRING008 + "│                                    @X" + STRING007 + "0│@X08▌"
  452.     PrintLn "@X0" + STRING008 + "▐@X" + STRING007 + STRING008 + "│ Bytes Left Today: @X0F                @X" + STRING007 + STRING008 + " @X" + STRING007 + "0│ @X" + STRING007 + STRING008 + "│  Time Left Today: @X07                @X" + STRING007 + STRING008 + " @X" + STRING007 + "0│@X08▌"
  453.     PrintLn "@X0" + STRING008 + "▐@X" + STRING007 + STRING008 + "│                                    @X" + STRING007 + "0│ @X" + STRING007 + STRING008 + "│                                    @X" + STRING007 + "0│@X08▌"
  454.     PrintLn "@X0" + STRING008 + "▐@X" + STRING007 + STRING008 + "│ Max Withdraw/Day: @X0F                @X" + STRING007 + STRING008 + " @X" + STRING007 + "0│ @X" + STRING007 + STRING008 + "│ Max Withdraw/Day: @X07                @X" + STRING007 + STRING008 + " @X" + STRING007 + "0│@X08▌"
  455.     PrintLn "@X0" + STRING008 + "▐@X" + STRING007 + STRING008 + "│                                    @X" + STRING007 + "0│ @X" + STRING007 + STRING008 + "│                                    @X" + STRING007 + "0│@X08▌"
  456.     PrintLn "@X0" + STRING008 + "▐@X" + STRING007 + STRING008 + "│  Bytes Withdrawn: @X0F                @X" + STRING007 + STRING008 + " @X" + STRING007 + "0│ @X" + STRING007 + STRING008 + "│   Time Withdrawn: @X07                @X" + STRING007 + STRING008 + " @X" + STRING007 + "0│@X08▌"
  457.     PrintLn "@X0" + STRING008 + "▐@X" + STRING007 + STRING008 + "│                                    @X" + STRING007 + "0│ @X" + STRING007 + STRING008 + "│                                    @X" + STRING007 + "0│@X08▌"
  458.     PrintLn "@X0" + STRING008 + "▐@X" + STRING007 + STRING008 + "│   Bytes In Vault: @X0F                @X" + STRING007 + STRING008 + " @X" + STRING007 + "0│ @X" + STRING007 + STRING008 + "│    Time In Vault: @X07                @X" + STRING007 + STRING008 + " @X" + STRING007 + "0│@X08▌"
  459.     PrintLn "@X0" + STRING008 + "▐@X" + STRING007 + STRING008 + "│                                    @X" + STRING007 + "0│ @X" + STRING007 + STRING008 + "│                                    @X" + STRING007 + "0│@X08▌"
  460.     PrintLn "@X0" + STRING008 + "▐@X" + STRING007 + STRING008 + "│    Byte Exchange: @X0F                @X" + STRING007 + STRING008 + " @X" + STRING007 + "0│ @X" + STRING007 + STRING008 + "│    Time Exchange: @X07                @X" + STRING007 + STRING008 + " @X" + STRING007 + "0│@X08▌"
  461.     PrintLn "@X0" + STRING008 + "▐@X" + STRING007 + STRING008 + "└@X" + STRING007 + "0────────────────────────────────────┘ @X" + STRING007 + STRING008 + "└@X" + STRING007 + "0────────────────────────────────────┘@X08▌"
  462.     PrintLn "@X0" + STRING008 + "▐@X" + STRING007 + STRING008 + "┌───────────────────────────────────────────────────────────────────────────@X" + STRING007 + "0┐@X08▌"
  463.     PrintLn "@X0" + STRING008 + "▐@X" + STRING007 + STRING008 + "│ @X" + STRING007 + STRING006 + "COMMAND: @X07                                                                @X" + STRING007 + STRING006 + " @X" + STRING007 + "0│@X08▌"
  464.     PrintLn "@X0" + STRING008 + "▐@X" + STRING007 + STRING008 + "└@X" + STRING007 + "0───────────────────────────────────────────────────────────────────────────┘@X08▌"
  465.     Return
  466.     :LABEL025
  467.     PrintLn "@POFF@@CLS@@X0" + STRING008 + "▐@X" + STRING007 + STRING008 + "┌───────────────────────────────────────────────────────────────────────────@X" + STRING007 + "0┐@X08▌"
  468.     PrintLn "@X0" + STRING008 + "▐@X" + STRING007 + STRING008 + "│  @X" + STRING007 + STRING006 + "VAULT.PPE ■ COPYRIGHT 1994 ROBERT BROWER ■ TOTAL ACCESS: (905) 568-5294  @X" + STRING007 + "0│@X08▌"
  469.     PrintLn "@X0" + STRING008 + "▐@X" + STRING007 + STRING008 + "└@X" + STRING007 + "0───────────────────────────────────────────────────────────────────────────┘@X08▌"
  470.     If (STRING002 == "") Then
  471.         STRING005 = "@X8E                         UNREGISTERED EVALUATION COPY"
  472.         PrintLn STRING005
  473.     Else
  474.         STRING005 = "REGISTERED TO: " + STRING002
  475.         Forward (80 - Len(STRING005)) / 2
  476.         PrintLn "@X0" + STRING006 + STRING005
  477.     Endif
  478.     PrintLn "@X0" + STRING008 + "▐@X" + STRING007 + STRING008 + "┌───────────────────────────────────────────────────────────────────────────@X" + STRING007 + "0┐@X08▌"
  479.     PrintLn "@X0" + STRING008 + "▐@X" + STRING007 + STRING008 + "│ Enter Commands in the following order: TRANSACTION | PARAMETER | QUANTITY.@X" + STRING007 + "0│@X08▌"
  480.     PrintLn "@X0" + STRING008 + "▐@X" + STRING007 + STRING008 + "│                                                                           @X" + STRING007 + "0│@X08▌"
  481.     PrintLn "@X0" + STRING008 + "▐@X" + STRING007 + STRING008 + "│  KEY             TRANSACTIONS:                                            @X" + STRING007 + "0│@X08▌"
  482.     PrintLn "@X0" + STRING008 + "▐@X" + STRING007 + STRING008 + "│ @X" + STRING007 + "0┌───@X" + STRING007 + STRING008 + "┐@X" + STRING007 + "0┌──────────────────────────────────@X" + STRING007 + STRING008 + "┐                                 @X" + STRING007 + "0│@X08▌"
  483.     PrintLn "@X0" + STRING008 + "▐@X" + STRING007 + STRING008 + "│ @X" + STRING007 + "0│ @X" + STRING007 + STRING006 + "D @X" + STRING007 + STRING008 + "│@X" + STRING007 + "0│ @X" + STRING007 + STRING006 + "Deposit Time Or Bytes            @X" + STRING007 + STRING008 + "│  KEY        PARAMETERS:         @X" + STRING007 + "0│@X08▌"
  484.     PrintLn "@X0" + STRING008 + "▐@X" + STRING007 + STRING008 + "│ @X" + STRING007 + "0│ @X" + STRING007 + STRING006 + "W @X" + STRING007 + STRING008 + "│@X" + STRING007 + "0│ @X" + STRING007 + STRING006 + "Withdraw Time Or Bytes           @X" + STRING007 + STRING008 + "│ @X" + STRING007 + "0┌───@X" + STRING007 + STRING008 + "┐@X" + STRING007 + "0┌────────────────────────@X" + STRING007 + STRING008 + "┐ @X" + STRING007 + "0│@X08▌"
  485.     PrintLn "@X0" + STRING008 + "▐@X" + STRING007 + STRING008 + "│ @X" + STRING007 + "0│ @X" + STRING007 + STRING006 + "E @X" + STRING007 + STRING008 + "│@X" + STRING007 + "0│ @X" + STRING007 + STRING006 + "Exchange Parameter For Parameter @X" + STRING007 + STRING008 + "│ @X" + STRING007 + "0│ @X" + STRING007 + STRING006 + "T @X" + STRING007 + STRING008 + "│@X" + STRING007 + "0│ @X" + STRING007 + STRING006 + "Time In Minutes        @X" + STRING007 + STRING008 + "│ @X" + STRING007 + "0│@X08▌"
  486.     PrintLn "@X0" + STRING008 + "▐@X" + STRING007 + STRING008 + "│ @X" + STRING007 + "0│ @X" + STRING007 + STRING006 + "G @X" + STRING007 + STRING008 + "│@X" + STRING007 + "0│ @X" + STRING007 + STRING006 + "Gamble Time Or Bytes             @X" + STRING007 + STRING008 + "│ @X" + STRING007 + "0│ @X" + STRING007 + STRING006 + "B @X" + STRING007 + STRING008 + "│@X" + STRING007 + "0│ @X" + STRING007 + STRING006 + "Bytes                  @X" + STRING007 + STRING008 + "│ @X" + STRING007 + "0│@X08▌"
  487.     PrintLn "@X0" + STRING008 + "▐@X" + STRING007 + STRING008 + "│ @X" + STRING007 + "0│ @X" + STRING007 + STRING006 + "H @X" + STRING007 + STRING008 + "│@X" + STRING007 + "0│ @X" + STRING007 + STRING006 + "Access This Help Screen          @X" + STRING007 + STRING008 + "│ @X" + STRING007 + "0│ @X" + STRING007 + STRING006 + "X @X" + STRING007 + STRING008 + "│@X" + STRING007 + "0│ @X" + STRING007 + STRING006 + "Cancel Transaction     @X" + STRING007 + STRING008 + "│ @X" + STRING007 + "0│@X08▌"
  488.     PrintLn "@X0" + STRING008 + "▐@X" + STRING007 + STRING008 + "│ @X" + STRING007 + "0│ @X" + STRING007 + STRING006 + "Q @X" + STRING007 + STRING008 + "│@X" + STRING007 + "0│ @X" + STRING007 + STRING006 + "Quit And Return To System        @X" + STRING007 + STRING008 + "│ @X" + STRING007 + "0└@X" + STRING007 + STRING008 + "───┘@X" + STRING007 + "0└@X" + STRING007 + STRING008 + "────────────────────────┘ @X" + STRING007 + "0│@X08▌"
  489.     PrintLn "@X0" + STRING008 + "▐@X" + STRING007 + STRING008 + "│ @X" + STRING007 + "0└@X" + STRING007 + STRING008 + "───┘@X" + STRING007 + "0└@X" + STRING007 + STRING008 + "──────────────────────────────────┘                                 @X" + STRING007 + "0│@X08▌"
  490.     PrintLn "@X0" + STRING008 + "▐@X" + STRING007 + STRING008 + "│                           COMPUTING EXCHANGES:                            @X" + STRING007 + "0│@X08▌"
  491.     PrintLn "@X0" + STRING008 + "▐@X" + STRING007 + STRING008 + "│             @X" + STRING007 + "0┌───────────────────────────────────────────────@X" + STRING007 + STRING008 + "┐             @X" + STRING007 + "0│@X08▌"
  492.     PrintLn "@X0" + STRING008 + "▐@X" + STRING007 + STRING008 + "│             @X" + STRING007 + "0│ @X" + STRING007 + STRING006 + "Bytes Entered ÷ Byte Exchange = Added Minutes @X" + STRING007 + STRING008 + "│             @X" + STRING007 + "0│@X08▌"
  493.     PrintLn "@X0" + STRING008 + "▐@X" + STRING007 + STRING008 + "│             @X" + STRING007 + "0│ @X" + STRING007 + STRING006 + "Time  Entered x Time Exchange = Added Bytes   @X" + STRING007 + STRING008 + "│             @X" + STRING007 + "0│@X08▌"
  494.     PrintLn "@X0" + STRING008 + "▐@X" + STRING007 + STRING008 + "│             @X" + STRING007 + "0└@X" + STRING007 + STRING008 + "───────────────────────────────────────────────┘             @X" + STRING007 + "0│@X08▌"
  495.     PrintLn "@X0" + STRING008 + "▐@X" + STRING007 + STRING008 + "└@X" + STRING007 + "0───────────────────────────────────────────────────────────────────────────┘@X08▌"
  496.     Print "@WAIT@"
  497.     Return
  498.  
  499. ;------------------------------------------------------------------------------
  500. ;
  501. ; Usage report (before postprocessing)
  502. ;
  503. ; ■ Statements used :
  504. ;
  505. ;    1       End
  506. ;    1       Color 
  507. ;    79      Goto 
  508. ;    82      Let 
  509. ;    59      Print 
  510. ;    45      PrintLn 
  511. ;    53      If 
  512. ;    1       FOpen 
  513. ;    1       FClose 
  514. ;    11      FGet 
  515. ;    1       GetUser
  516. ;    1       PutUser
  517. ;    1       DefColor
  518. ;    8       AdjTime 
  519. ;    4       Log 
  520. ;    3       InputStr 
  521. ;    53      Gosub 
  522. ;    33      Return
  523. ;    1       Tokenize 
  524. ;    17      AnsiPos 
  525. ;    1       Forward 
  526. ;    7       AdjBytes 
  527. ;
  528. ;
  529. ; ■ Functions used :
  530. ;
  531. ;    7       -
  532. ;    9       *
  533. ;    3       /
  534. ;    708     +
  535. ;    9       -
  536. ;    35      ==
  537. ;    2       <>
  538. ;    12      <=
  539. ;    4       >
  540. ;    42      !
  541. ;    2       &&
  542. ;    1       Len(
  543. ;    3       Upper()
  544. ;    1       Mid()
  545. ;    2       Ferr()
  546. ;    5       RTrim()
  547. ;    4       Random()
  548. ;    2       Date()
  549. ;    1       U_BdlDay()
  550. ;    2       Strip()
  551. ;    1       PPEPath()
  552. ;    13      GetToken()
  553. ;    3       MinLeft()
  554. ;    8       I2S()
  555. ;    55      S2I()
  556. ;    1       ScrText()
  557. ;
  558. ;------------------------------------------------------------------------------
  559. ;
  560. ; Analysis flags : WAa
  561. ;
  562. ; W - Write user ■ 5
  563. ;     Program writes a user record. Although this may be normal for a
  564. ;     User Editor, it may also be a way to modify an account level.
  565. ;     ■ Search for : PUTUSER
  566. ;
  567. ; A - Adjust online time remaining ■ 5
  568. ;     Program modify the amount of online time remaining, this may
  569. ;     be a way to bypass time limits
  570. ;     ■ Search for : ADJTIME
  571. ;
  572. ; a - Adjust ratio ■ 4
  573. ;     User's ratio is adjusted by changing the amount of files/bytes
  574. ;     uploaded. This may be normal for a user editor.
  575. ;     ■ Search for : ADJBYTES, ADJDBYTES, ADJTBYTES, ADJTFILES
  576. ;
  577. ;------------------------------------------------------------------------------
  578. ;
  579. ; Postprocessing report
  580. ;
  581. ;    0       For/Next
  582. ;    1       While/EndWhile
  583. ;    22      If/Then or If/Then/Else
  584. ;    5       Select Case
  585. ;
  586. ;------------------------------------------------------------------------------
  587. ;                 AEGiS Corp - Break the routines, code against the machines!
  588. ;------------------------------------------------------------------------------
  589.