home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #1 / monster.zip / monster / PCBOARD / EXPIRE21.ZIP / EXPIRED.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1994-01-21  |  10KB  |  383 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.     String   STRING001
  23.     String   STRING002
  24.     String   STRING003
  25.     String   STRING004
  26.     String   STRING005
  27.     String   STRING006
  28.     String   STRING007
  29.     String   STRING008
  30.     String   STRING009
  31.     String   STRING010
  32.     String   STRING011
  33.     String   STRING012
  34.     String   STRING013
  35.     String   STRING014
  36.     String   STRING015
  37.  
  38. ;------------------------------------------------------------------------------
  39.  
  40.     GetUser
  41.     STRING007 = "@X0AE@X02xpired @X092.10 @X0BBy @X0FT@X07he @X08Th@X07ril@X0Fl"
  42.     STRING003 = U_Name()
  43.     STRING011 = Date()
  44.     If (!Exist(PPEPath() + "expired.ans")) Gosub LABEL014
  45.     If (!Exist(PPEPath() + "expired.mnu")) Gosub LABEL015
  46.     Gosub LABEL004
  47.     INTEGER002 = U_ExpSec
  48.     If (CurSec() == INTEGER002) Then
  49.         Goto LABEL001
  50.     Endif
  51.     End
  52.     :LABEL001
  53.     If (Exist(PPEPath() + "expired.usr")) Goto LABEL002
  54.     FCreate 1, PPEPath() + "expired.usr", 1, 3
  55.     FPutLn 1, "User name  Date EXPIRED.PPE ran"
  56.     FPutLn 1, "─────────  ───────────────────-"
  57.     FPutLn 1, STRING003 + "," + STRING011
  58.     FClose 1
  59.     Goto LABEL003
  60.     :LABEL002
  61.     FAppend 1, PPEPath() + "expired.usr", 1, 3
  62.     FPutLn 1, STRING003 + "," + STRING011
  63.     FClose 1
  64.     :LABEL003
  65.     Goto LABEL005
  66.     :LABEL004
  67.     If (Exist(PPEPath() + "expired.cfg")) Then
  68.         FOpen 1, PPEPath() + "expired.cfg", 0, 0
  69.         FGet 1, STRING001
  70.         FGet 1, STRING002
  71.         FGet 1, STRING004
  72.         FGet 1, STRING005
  73.         FGet 1, STRING006
  74.         FGet 1, STRING014
  75.         FGet 1, INTEGER001
  76.         FGet 1, STRING012
  77.         FGet 1, STRING013
  78.         FGet 1, INTEGER003
  79.         FClose 1
  80.         Return
  81.     Else
  82.         Log " " + STRING007 + " Creating EXPIRED.CFG", 0
  83.         PrintLn "Configuration file EXPIRED.CFG missing, creating one!"
  84.         FCreate 1, PPEPath() + "expired.cfg", 1, 3
  85.         FPutLn 1, "Expired.ans"
  86.         FPutLn 1, "C:\PCB\GEN\BLT1"
  87.         FPutLn 1, "Subscrib.txt"
  88.         FPutLn 1, "Rules.TXT"
  89.         FPutLn 1, "C:\PCB\PPE\CREDIT\CREDIT.PPE"
  90.         FPutLn 1, "C:\PCB\PPE\TABS\TABS.PPE"
  91.         FPutLn 1, "5"
  92.         FPutLn 1, "N"
  93.         FPutLn 1, "7"
  94.         FPutLn 1, "Y"
  95.         FPutLn 1, "0"
  96.         FPutLn 1, "-----------------------------------------------------------"
  97.         FPutLn 1, "┌─────────────────────────────────────────────────────────┐"
  98.         FPutLn 1, "│Line 1: File showing expired information.                │"
  99.         FPutLn 1, "│Line 2: Bulletin showing rates and subscription info.    │"
  100.         FPutLn 1, "│Line 3: File you'd like your users to download first.    │"
  101.         FPutLn 1, "│Line 4: Second file you'd like your users to download.   │"
  102.         FPutLn 1, "│Line 5: Full name and path of a ppe to run.              │"
  103.         FPutLn 1, "│Line 6: Full name and path of second ppe to run!         │"
  104.         FPutLn 1, "│Line 7: Length of delay on screen 1 if any 1-99.         │"
  105.         FPutLn 1, "│Line 8: Allow user to exit Expired.PPE to the BBS.       │"
  106.         FPutLn 1, "│Line 9: Level given to expired users.                    │"
  107.         FPutLn 1, "│Line 10: Allow leaving message to the sysop.             │"
  108.         FPutLn 1, "│Line 11: Conference to leave message to SYSOP.           │"
  109.         FPutLn 1, "└─────────────────────────────────────────────────────────┘"
  110.         FClose 1
  111.     Endif
  112.     Return
  113.     :LABEL005
  114.     Log "■ Started " + STRING007, 0
  115.     DispFile PPEPath() + STRING001, 0
  116.     Delay INTEGER001 * 18.2
  117.     STRING008 = "Y"
  118.     Newline
  119.     DispStr STRING007
  120.     Newline
  121.     InputYN "@X0EWould you like to see your options (Y/n)", STRING008, 0
  122.     If (STRING008 == NoChar()) Then
  123.         Goto LABEL012
  124.     Else
  125.         Goto LABEL006
  126.     Endif
  127.     End
  128.     :LABEL006
  129.     Log " " + STRING007 + " Main Menu Viewed", 0
  130.     Cls
  131.     DispFile PPEPath() + "Expired.mnu", 0
  132.     Newline
  133.     STRING009 = ""
  134.     InputStr "@X0E(@X0C@MINLEFT@ @X0Amins left@X0E) Expired Level Command", STRING009, 0, 1, "TQRASBCtqrasbc", 2 + 128
  135.     If (STRING009 == "") Then
  136.         Goto LABEL006
  137.     Else
  138.         Select Case (Lower(STRING009))
  139.             Case "r"
  140.                 DispFile STRING002, 0
  141.                 Log "æ " + STRING007 + " User viewed rates.", 0
  142.                 Goto LABEL006
  143.             Case "a"
  144.                 Goto LABEL007
  145.             Case "b"
  146.                 Goto LABEL008
  147.             Case "c"
  148.                 Goto LABEL009
  149.             Case "s"
  150.                 Goto LABEL011
  151.             Case "t"
  152.                 Goto LABEL010
  153.             Case "q"
  154.                 Goto LABEL012
  155.             Endif
  156.     End Select
  157.     End
  158.     :LABEL007
  159.     Log " " + STRING007 + " Downloaded " + STRING004, 0
  160.     Newline
  161.     STRING004 = Left(STRING004, 12)
  162.     Download STRING004
  163.     Goto LABEL006
  164.     End
  165.     :LABEL008
  166.     Log " " + STRING007 + " Downloaded " + STRING005, 0
  167.     STRING005 = Left(STRING005, 12)
  168.     Download STRING005
  169.     Goto LABEL006
  170.     End
  171.     :LABEL009
  172.     Log " " + STRING007 + " Exited to Credit.PPE", 0
  173.     Call STRING006
  174.     If (CurSec() <> INTEGER002) Then
  175.         End
  176.     Else
  177.         Goto LABEL006
  178.     Endif
  179.     :LABEL010
  180.     Log "■ " + STRING007 + " Exited to TABS.PPE", 0
  181.     Call STRING014
  182.     If (CurSec() <> INTEGER002) Then
  183.         End
  184.     Else
  185.         Goto LABEL006
  186.     Endif
  187.     :LABEL011
  188.     If (STRING013 == NoChar()) Then
  189.         Log "* " + STRING007 + " Tried to leave hate mail!", 0
  190.         Newline
  191.         PrintLn "Sorry " + STRING003 + " function is not available."
  192.         Goto LABEL006
  193.     Else
  194.         Log "Φ " + STRING007 + " Left Comment", 0
  195.         Gosub LABEL016
  196.     Endif
  197.     Goto LABEL006
  198.     :LABEL012
  199.     Log "≡ " + STRING007 + " Exited!", 0
  200.     If (STRING012 == NoChar()) Then
  201.         Newlines 2
  202.         DispStr "@X0AThanks for calling! @X0BWe hope you enjoyed your trial period!"
  203.         Bye
  204.         Goto LABEL013
  205.     Endif
  206.     :LABEL013
  207.     End
  208.     :LABEL014
  209.     Log " " + STRING007 + " Creating EXPIRED.ANS", 0
  210.     FCreate 1, PPEPath() + "expired.ans", 1, 3
  211.     FPutLn 1, "@CLS@@POFF@"
  212.     FPutLn 1, " @X7F┌───────────────────────────────────────────────────────────────────────────@X70┐@X07"
  213.     FPutLn 1, " @X7F│ @X74@USER@, @X71we're sorry to inform you that your trial period ended @X70@POS:78@│@X07"
  214.     FPutLn 1, " @X7F│ @X71on @EXPDATE@. Please take a look at our rate information. @X70@POS:78@│@X07"
  215.     FPutLn 1, " @X7F└@X70───────────────────────────────────────────────────────────────────────────┘@X07"
  216.     FPutLn 1, " @X7F┌──────────────────────────[@X74User Information@X7F]───────────────────────────────@X70┐@X07"
  217.     FPutLn 1, " @X7F│     @X7EName:       @X71@USER@               @POS:78@@X70│@X07"
  218.     FPutLn 1, " @X7F│ @X7E    Alias:      @X74@ALIAS@             @POS:78@@X70│@X07"
  219.     FPutLn 1, " @X7F│     @X7EPhone:      @X7A@HOMEPHONE@ (home)           @POS:78@@X70│@X07"
  220.     FPutLn 1, " @X7F│     @X7EFiles D/L:  @X75@DLFILES@               @POS:78@@X70│@X07"
  221.     FPutLn 1, " @X7F│     @X7EBytes D/L:  @X70@DLBYTES@         @POS:78@@X70│@X07"
  222.     FPutLn 1, " @X7F│ @X7E    Logged On:  @XF1@NUMTIMESON@ @X71times           @POS:78@@X70│@X07"
  223.     FPutLn 1, " @X7F└@X70───────────────────────────────────────────────────────────────────────────┘@X07"
  224.     FPutLn 1, " @X7F┌───────────────────────────────────────────────────────────────────────────@X70┐@X07"
  225.     FPutLn 1, " @X7F│ @X71As you can tell, you have taken full advantage of your free trial@POS:78@@X70│@X07"
  226.     FPutLn 1, " @X7F│ @X71period. We are sorry to have to resort to this, but without the help@POS:78@@X70│@X07"
  227.     FPutLn 1, " @X7F│ @X71of our users, the bbs cannot expand and it becomes harder to keep up   @POS:78@@X70│@X07"
  228.     FPutLn 1, " @X7F│ @X71with the bills. Please take a moment and take a look at our rates. We@X70@POS:78@│@X07"
  229.     FPutLn 1, " @X7F│ @X71feel them to be very competitive and reasonable.  @X70-The Sysop-    @POS:78@@X70│@X07"
  230.     FPutLn 1, " @X7F└@X70───────────────────────────────────────────────────────────────────────────┘@X07"
  231.     FPutLn 1, ""
  232.     FPutLn 1, ""
  233.     FClose 1
  234.     Return
  235.     :LABEL015
  236.     Log "Ω " + STRING007 + " Creating EXPIRED.MNU", 0
  237.     FCreate 1, PPEPath() + "expired.mnu", 1, 3
  238.     FPutLn 1, "@CLS@"
  239.     FPutLn 1, ""
  240.     FPutLn 1, ""
  241.     FPutLn 1, "                       @X0AExpired User Main Menu"
  242.     FPutLn 1, "                 @X0F┌────────────────────────────────@X08┐"
  243.     FPutLn 1, "                 @X0F│ @X04(@X0EA@X04) @X0BDownload SUBSCRIB.TXT      @X08│"
  244.     FPutLn 1, "                 @X0F│ @X04(@X0EB@X04) @X0BDownload RULES.TXT         @X08│"
  245.     FPutLn 1, "                 @X0F│ @X04(@X0EC@X04) @X0BCharge Subscription        @X08│"
  246.     FPutLn 1, "                 @X0F│ @X04(@X0ET@X04) @X0BEnter your TABS Code       @X08│"
  247.     FPutLn 1, "                 @X0F│ @X04(@X0ER@X04) @X0BRate Information Bulletin  @X08│"
  248.     FPutLn 1, "                 @X0F│ @X04(@X0ES@X04) @X0BSend Message to Sysop      @X08│"
  249.     FPutLn 1, "                 @X0F│ @X04(@X0EQ@X04) @X0BQuit to BBS                @X08│"
  250.     FPutLn 1, "                 @X0F└@X08────────────────────────────────┘@X07"
  251.     FPutLn 1, ""
  252.     FPutLn 1, ""
  253.     FClose 1
  254.     Return
  255.     :LABEL016
  256.     STRING015 = ""
  257.     Cls
  258.     PrintLn "                             @X08-@X07=@X0F≡@X0EThrill@X0CED @X09v1.0@X0F≡@X07=@X08-"
  259.     Newline
  260.     PrintLn "@X0AEnter your message below. Type @X0C(QUIT) @X0Aalone to EXIT."
  261.     PrintLn "@X04───────────────────────────────────────────────────────────────────────────────"
  262.     InputStr "@X0B", STRING015, 0, 70, Mask_Ascii(), 512 + 8192 + 64
  263.     If (STRING015 == Lower("quit")) Then
  264.         Newlines 2
  265.         PrintLn "@X0ADid you forget something?"
  266.         Newline
  267.         PrintLn "@X0CMessage Aborted!"
  268.         Wait
  269.         Log "* Dork changed his mind!", 0
  270.         Goto LABEL006
  271.         Goto LABEL017
  272.     Endif
  273.     :LABEL017
  274.     FCreate 1, PPEPath() + "temp.!!!", 1, 3
  275.     FPutLn 1, STRING015
  276.     :LABEL018
  277.     STRING015 = ""
  278.     InputStr "", STRING015, 0, 70, Mask_Ascii(), 512 + 8192 + 64
  279.     If (STRING015 == Lower("quit")) Then
  280.         Newline
  281.         STRING015 = ""
  282.         STRING010 = ""
  283.         InputStr "@X0ASave this comment", STRING010, 1, 1, "YNyn", 2
  284.         If (Lower(STRING010) == "n") Then
  285.             Newline
  286.             PrintLn "@X0CMessage Aborted..."
  287.             FClose 1
  288.             Delete PPEPath() + "temp.!!!"
  289.             Wait
  290.             Goto LABEL006
  291.             Goto LABEL019
  292.         Endif
  293.         :LABEL019
  294.         Newline
  295.         PrintLn "@X0ASaving comment to the sysop..."
  296.         FPutLn 1, STRING015
  297.         FClose 1
  298.         INTEGER003 = S2I(INTEGER003, 2)
  299.         Message 0, "SYSOP", U_Name(), "My Expired Level", "R", INTEGER003, 0, 0, PPEPath() + "temp.!!!"
  300.         Delete PPEPath() + "temp.!!!"
  301.         Goto LABEL006
  302.     Else
  303.         FPutLn 1, STRING015
  304.     Endif
  305.     Goto LABEL018
  306.  
  307. ;------------------------------------------------------------------------------
  308. ;
  309. ; Usage report (before postprocessing)
  310. ;
  311. ; ■ Statements used :
  312. ;
  313. ;    8       End
  314. ;    2       Cls
  315. ;    2       Wait
  316. ;    58      Goto 
  317. ;    13      Let 
  318. ;    9       PrintLn 
  319. ;    21      If 
  320. ;    3       DispFile 
  321. ;    5       FCreate 
  322. ;    1       FOpen 
  323. ;    1       FAppend 
  324. ;    8       FClose 
  325. ;    10      FGet 
  326. ;    69      FPutLn 
  327. ;    1       GetUser
  328. ;    2       Delete 
  329. ;    14      Log 
  330. ;    4       InputStr 
  331. ;    1       InputYN 
  332. ;    4       Gosub 
  333. ;    4       Return
  334. ;    1       Delay 
  335. ;    10      Newline
  336. ;    2       Newlines 
  337. ;    2       Call 
  338. ;    1       Bye
  339. ;    2       DispStr 
  340. ;    1       Message 
  341. ;    2       Download 
  342. ;
  343. ;
  344. ; ■ Functions used :
  345. ;
  346. ;    1       *
  347. ;    54      +
  348. ;    15      ==
  349. ;    2       <>
  350. ;    21      !
  351. ;    10      Lower()
  352. ;    2       Left()
  353. ;    1       Date()
  354. ;    2       U_Name()
  355. ;    3       NoChar()
  356. ;    2       Mask_Ascii()
  357. ;    16      PPEPath()
  358. ;    3       CurSec()
  359. ;    4       Exist()
  360. ;    1       S2I()
  361. ;
  362. ;------------------------------------------------------------------------------
  363. ;
  364. ; Analysis flags : C
  365. ;
  366. ; C - Call child PPE ■ 3
  367. ;     This is usually normal, but may be a tricky way to launch some
  368. ;     sysop-only commands.
  369. ;     ■ Search for : CALL
  370. ;
  371. ;------------------------------------------------------------------------------
  372. ;
  373. ; Postprocessing report
  374. ;
  375. ;    0       For/Next
  376. ;    0       While/EndWhile
  377. ;    11      If/Then or If/Then/Else
  378. ;    1       Select Case
  379. ;
  380. ;------------------------------------------------------------------------------
  381. ;                 AEGiS Corp - Break the routines, code against the machines!
  382. ;------------------------------------------------------------------------------
  383.