home *** CD-ROM | disk | FTP | other *** search
/ Carsten's PPE Collection / Carstens_PPE_Collection_2007.zip / S / SCUM-LN3.ZIP / SCUMLINE.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1994-08-16  |  7KB  |  398 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.     String   STRING001
  28.     String   STRING002
  29.     String   STRING003
  30.     String   STRING004
  31.     String   STRING005
  32.     String   STRING006
  33.     String   STRING007
  34.     String   STRING008
  35.     String   STRING009
  36.     String   STRING010
  37.     String   STRING011
  38.     String   STRING012
  39.     String   STRING013
  40.     String   STRING014
  41.     String   STRING015
  42.     String   STRING016
  43.     String   STRING017
  44.     String   STRING018
  45.     String   STRING019
  46.     String   STRING020
  47.     String   TSTRING021(100)
  48.     String   STRING022
  49.     String   STRING023
  50.     String   STRING024
  51.     String   STRING025
  52.  
  53. ;------------------------------------------------------------------------------
  54.  
  55.     :LABEL001
  56.     Cls
  57.     STRING025 = Left(Time(), 5)
  58.     INTEGER001 = ReadLine(PPEPath() + "SCUMLINE.CFG", 1)
  59.     INTEGER002 = ReadLine(PPEPath() + "SCUMLINE.CFG", 2)
  60.     STRING001 = ReadLine(PPEPath() + "SCUMLINE.CFG", 3)
  61.     STRING002 = Right(STRING001, 1)
  62.     STRING003 = STRING002
  63.     STRING004 = ""
  64.     STRING005 = ReadLine(PPEPath() + "SCUMLINE.CFG", 4)
  65.     STRING006 = ReadLine(PPEPath() + "SCUMLINE.CFG", 5)
  66.     STRING007 = ReadLine(PPEPath() + "SCUMLINE.CFG", 6)
  67.     STRING008 = ReadLine(PPEPath() + "SCUMLINE.CFG", 7)
  68.     STRING009 = ReadLine(PPEPath() + "SCUMLINE.CFG", 8)
  69.     STRING010 = ReadLine(PPEPath() + "SCUMLINE.CFG", 9)
  70.     STRING011 = ReadLine(PPEPath() + "SCUMLINE.CFG", 10)
  71.     STRING012 = ReadLine(PPEPath() + "SCUMLINE.CFG", 11)
  72.     STRING013 = ReadLine(PPEPath() + "SCUMLINE.CFG", 12)
  73.     STRING014 = ReadLine(PPEPath() + "SCUMLINE.CFG", 13)
  74.     STRING015 = PPEPath() + "SCUMLINE.DAT"
  75.     GetUser
  76.     If (CurSec() < INTEGER002) Then
  77.         End
  78.     Endif
  79.     If ((STRING012 == "YES") && (CurSec() >= STRING013)) Then
  80.         STRING006 = STRING007
  81.     Endif
  82.     FOpen 1, PPEPath() + "BLACK.LST", 2, 0
  83.     :LABEL002
  84.     If (Ferr(1)) Goto LABEL003
  85.     FGet 1, STRING016
  86.     If (STRING016 == U_Name()) Then
  87.         STRING017 = "TRUE"
  88.     Endif
  89.     Goto LABEL002
  90.     :LABEL003
  91.     FClose 1
  92.     If (Exist(STRING015)) Goto LABEL004
  93.     FCreate 5, STRING015, 1, 0
  94.     For INTEGER004 = 1 To INTEGER001
  95.         INTEGER008 = Random(2)
  96.         Select Case (INTEGER008)
  97.             Case 0
  98.                 STRING024 = "@X07S@X08cum @X09K@X01icks @X0FA@X07ss!"
  99.             Case 1
  100.                 STRING024 = "@X0CS@X04CuM 94' @X0CR@X04ocks!"
  101.             Case 2
  102.                 STRING024 = "@X0AS@X02cumliners @X03v3.o @X0AB@X02y: @X0Br@X03y0  @X0DS@X05CuM @X0DP@X05roductions 94'"
  103.         End Select
  104.         FPutLn 5, STRING024
  105.     Next
  106.     FClose 5
  107.     :LABEL004
  108.     StartDisp 1
  109.     Cls
  110.     If (Exist(PPEPath() + "SCUMLINE.TOP")) Then
  111.         DispFile PPEPath() + "SCUMLINE.TOP", 1
  112.     Endif
  113.     AnsiPos 1, GetY() - 1
  114.     For INTEGER004 = 1 To INTEGER001
  115.         PrintLn STRING005 + " " + ReadLine(STRING015, INTEGER004)
  116.     Next
  117.     If (Exist(PPEPath() + "SCUMLINE.BOT")) Then
  118.         DispFile PPEPath() + "SCUMLINE.BOT", 1
  119.     Endif
  120.     Newline
  121.     InputStr STRING006 + " _", STRING023, 0, 1, "eEWw", 8
  122.     If ((STRING023 == "E") && (STRING017 <> "TRUE")) Goto LABEL005
  123.     If ((STRING023 == "E") && (STRING017 == "TRUE")) Then
  124.         Newlines 3
  125.         PrintLn "@X0CYou Have Been Denied The Priveledge Of Using These Oneliners!"
  126.         Newline
  127.         Wait
  128.         Goto LABEL001
  129.     Endif
  130.     If ((STRING023 <> "W") && (STRING023 <> "E")) Goto LABEL011
  131.     Cls
  132.     If ((STRING012 <> "YES") || (CurSec() < STRING013)) Goto LABEL001
  133.     If (!Exist(PPEPath() + "WHO.DAT")) Gosub LABEL013
  134.     If (Exist(PPEPath() + "SCUMLINE.TOP")) Then
  135.         DispFile PPEPath() + "SCUMLINE.TOP", 1
  136.     Endif
  137.     AnsiPos GetX(), GetY() - 1
  138.     DispFile PPEPath() + "WHO.DAT", 1
  139.     If (Exist(PPEPath() + "SCUMLINE.BOT")) Then
  140.         DispFile PPEPath() + "SCUMLINE.BOT", 1
  141.     Endif
  142.     Wait
  143.     Goto LABEL001
  144.     :LABEL005
  145.     Cls
  146.     PrintLn "                               @X08Scumliners..@X08 v3.o"
  147.     PrintLn "                         By: @X0Br@X03y0 @X08== @X0CS@X04CuM @X0CP@X04roductions 94'"
  148.     PrintLn 
  149.     INTEGER007 = GetY()
  150.     INTEGER006 = INTEGER007 + 2
  151.     STRING019 = ""
  152.     STRING008 = ReadLine(PPEPath() + "SCUMLINE.CFG", 7)
  153.     INTEGER005 = Len(StripAtx(STRING008)) + 2
  154.     AnsiPos 1, INTEGER007
  155.     Print "@X08<@X0" + STRING003 + "COLOR@X08>" + "  (@X07@X03{@X08/@X03} @X0Bto change@X08)"
  156.     Newlines 2
  157.     Print STRING008 + "@X0" + STRING003
  158.     STRING020 = ""
  159.     While (STRING020 <> Chr(13)) Do
  160.         If (INTEGER005 >= 79) Then
  161.             Inc INTEGER006
  162.             INTEGER005 = Len(StripAtx(STRING008)) + 2
  163.             AnsiPos INTEGER005, INTEGER006
  164.         Else
  165.             AnsiPos INTEGER005, INTEGER006
  166.         Endif
  167.         STRING020 = ""
  168.         While (STRING020 == "") Do
  169.             STRING020 = Inkey()
  170.             If (Len(STRING020) <> 1) STRING020 = ""
  171.         EndWhile
  172.         KeyFlush
  173.         If (STRING020 == Chr(8)) Then
  174.             If ((INTEGER005 <= Len(StripAtx(STRING008)) + 2) && (INTEGER006 <> INTEGER007 + 2)) Then
  175.                 INTEGER005 = 79
  176.                 INTEGER006 = INTEGER006 - 1
  177.                 AnsiPos INTEGER005, INTEGER006
  178.             Endif
  179.             If (INTEGER005 > Len(StripAtx(STRING008)) + 2) Then
  180.                 If (Mid(STRING019, Len(STRING019) - 4, 2) <> "@X") Then
  181.                     STRING019 = Left(STRING019, Len(STRING019) - 1)
  182.                     Goto LABEL006
  183.                 Endif
  184.                 STRING019 = Left(STRING019, Len(STRING019) - 5)
  185.                 :LABEL006
  186.                 Backup 1
  187.                 Print " "
  188.                 Backup 1
  189.                 Dec INTEGER005
  190.                 STRING004 = 0
  191.             Endif
  192.             Continue
  193.         Endif
  194.         If (STRING020 == Chr(125)) Then
  195.             If (STRING002 < 14) Then
  196.                 Inc STRING002
  197.                 STRING003 = STRING002
  198.                 Gosub LABEL014
  199.                 AnsiPos 1, INTEGER007
  200.                 Print "@X08<@X0" + STRING003 + "COLOR@X08>" + "  (@X07@X03{@X08/@X03} @X0Bto change@X08)"
  201.                 Goto LABEL007
  202.             Endif
  203.             :LABEL007
  204.             Continue
  205.         Endif
  206.         If (STRING020 == Chr(123)) Then
  207.             If (STRING002 >= 2) Then
  208.                 Dec STRING002
  209.                 STRING003 = STRING002
  210.                 Gosub LABEL014
  211.                 AnsiPos 1, INTEGER007
  212.                 Print "@X08<@X0" + STRING003 + "COLOR@X08>" + "  (@X07@X03{@X08/@X03} @X0Bto change@X08)"
  213.                 Goto LABEL008
  214.             Endif
  215.             :LABEL008
  216.             Continue
  217.         Endif
  218.         If (STRING020 == Chr(13)) Then
  219.             Continue
  220.         Endif
  221.         If (Len(StripAtx(STRING019)) <= 80 - Len(STRING005)) Then
  222.             If (STRING003 <> STRING004) Then
  223.                 Print "@X0" + STRING003
  224.                 STRING004 = STRING003
  225.                 STRING019 = STRING019 + "@X0" + STRING003
  226.             Endif
  227.             Print STRING020
  228.             STRING019 = STRING019 + STRING020
  229.             Inc INTEGER005
  230.         Endif
  231.     EndWhile
  232.     If (StripAtx(STRING019) == "") Goto LABEL001
  233.     Log StripAtx(STRING019), 1
  234.     Log "@USER@ Wrote This SCuMLiNeR At (" + STRING025 + "): ", 1
  235.     :LABEL009
  236.     FOpen 7, PPEPath() + "SCUMLINE.DAT", 0, 0
  237.     For INTEGER004 = 1 To INTEGER001
  238.         FGet 7, TSTRING021(INTEGER004)
  239.     Next
  240.     FClose 7
  241.     TSTRING021(INTEGER001 + 1) = STRING019
  242.     FCreate 4, PPEPath() + "SCUMLINE.DAT", 1, 0
  243.     For INTEGER004 = 2 To INTEGER001 + 1
  244.         FPutLn 4, TSTRING021(INTEGER004)
  245.     Next
  246.     FClose 4
  247.     If (STRING012 == "YES") Then
  248.         If (!Exist(PPEPath() + "WHO.DAT")) Gosub LABEL013
  249.         FOpen 3, PPEPath() + "WHO.DAT", 2, 0
  250.         For INTEGER004 = 1 To INTEGER001
  251.             FGet 3, TSTRING021(INTEGER004)
  252.         Next
  253.         FClose 3
  254.         FCreate 4, PPEPath() + "WHO.DAT", 1, 0
  255.         For INTEGER004 = 2 To INTEGER001
  256.             FPutLn 4, TSTRING021(INTEGER004)
  257.         Next
  258.         If (STRING019 == STRING011) Then
  259.             STRING022 = "@X05Auto-Advertised With Scumline v3.o By @X0Br@X03y0!"
  260.             Goto LABEL010
  261.         Endif
  262.         STRING022 = U_Name()
  263.         :LABEL010
  264.         FPutLn 4, STRING014 + STRING022
  265.         FClose 4
  266.     Endif
  267.     :LABEL011
  268.     If (Upper(STRING009) == "YES") STRING018 = PPEPath() + "COUNTER.DAT"
  269.     If (Exist(STRING018)) Goto LABEL012
  270.     FCreate 1, STRING018, 1, 0
  271.     FPutLn 1, 0
  272.     FClose 1
  273.     :LABEL012
  274.     FOpen 2, PPEPath() + "COUNTER.DAT", 2, 0
  275.     FGet 2, INTEGER003
  276.     If (INTEGER003 >= STRING010) Then
  277.         INTEGER003 = 0
  278.         Frewind 2
  279.         FPutLn 2, INTEGER003
  280.         FClose 2
  281.         STRING019 = STRING011
  282.         Goto LABEL009
  283.     Else
  284.         Inc INTEGER003
  285.         Frewind 2
  286.         FPutLn 2, INTEGER003
  287.         FClose 2
  288.     Endif
  289.     End
  290.     :LABEL013
  291.     FCreate 1, PPEPath() + "WHO.DAT", 1, 0
  292.     For INTEGER004 = 1 To INTEGER001
  293.         FPutLn 1, "@X0CExisted Before WHO.DAT Was Enabled"
  294.     Next
  295.     FClose 1
  296.     Return
  297.     :LABEL014
  298.     Select Case (STRING002)
  299.         Case 10
  300.             STRING003 = "A"
  301.         Case 11
  302.             STRING003 = "B"
  303.         Case 11
  304.             STRING003 = "C"
  305.         Case 12
  306.             STRING003 = "D"
  307.         Case 13
  308.             STRING003 = "E"
  309.         Case 14
  310.             STRING003 = "F"
  311.     End Select
  312.     Return
  313.  
  314. ;------------------------------------------------------------------------------
  315. ;
  316. ; Usage report (before postprocessing)
  317. ;
  318. ; ■ Statements used :
  319. ;
  320. ;    2       End
  321. ;    4       Cls
  322. ;    2       Wait
  323. ;    78      Goto 
  324. ;    70      Let 
  325. ;    7       Print 
  326. ;    5       PrintLn 
  327. ;    52      If 
  328. ;    5       DispFile 
  329. ;    5       FCreate 
  330. ;    4       FOpen 
  331. ;    10      FClose 
  332. ;    4       FGet 
  333. ;    8       FPutLn 
  334. ;    1       StartDisp 
  335. ;    1       GetUser
  336. ;    2       Log 
  337. ;    1       InputStr 
  338. ;    4       Gosub 
  339. ;    2       Return
  340. ;    4       Inc 
  341. ;    2       Dec 
  342. ;    2       Newline
  343. ;    2       Newlines 
  344. ;    8       AnsiPos 
  345. ;    2       Backup 
  346. ;    2       Frewind 
  347. ;    1       KeyFlush
  348. ;
  349. ;
  350. ; ■ Functions used :
  351. ;
  352. ;    71      +
  353. ;    7       -
  354. ;    23      ==
  355. ;    9       <>
  356. ;    10      <
  357. ;    9       <=
  358. ;    1       >
  359. ;    18      >=
  360. ;    45      !
  361. ;    19      &&
  362. ;    8       ||
  363. ;    10      Len(
  364. ;    1       Upper()
  365. ;    1       Mid()
  366. ;    3       Left()
  367. ;    1       Right()
  368. ;    1       Ferr()
  369. ;    5       Chr()
  370. ;    1       Random()
  371. ;    1       Time()
  372. ;    2       U_Name()
  373. ;    7       StripAtx()
  374. ;    1       Inkey()
  375. ;    34      PPEPath()
  376. ;    15      ReadLine()
  377. ;    3       CurSec()
  378. ;    8       Exist()
  379. ;    1       GetX()
  380. ;    3       GetY()
  381. ;
  382. ;------------------------------------------------------------------------------
  383. ;
  384. ; Analysis flags : No flag
  385. ;
  386. ;------------------------------------------------------------------------------
  387. ;
  388. ; Postprocessing report
  389. ;
  390. ;    7       For/Next
  391. ;    2       While/EndWhile
  392. ;    23      If/Then or If/Then/Else
  393. ;    2       Select Case
  394. ;
  395. ;------------------------------------------------------------------------------
  396. ;                 AEGiS Corp - Break the routines, code against the machines!
  397. ;------------------------------------------------------------------------------
  398.