home *** CD-ROM | disk | FTP | other *** search
/ Collection of Hack-Phreak Scene Programs / cleanhpvac.zip / cleanhpvac / AGSUOA20.ZIP / AGSUOL.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1995-03-03  |  9KB  |  470 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 3.O1 (Encryption type I) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Integer  INTEGER001
  20.     Integer  INTEGER002
  21.     Integer  INTEGER003
  22.     Integer  INTEGER004
  23.     Integer  TINTEGER005(5)
  24.     Integer  INTEGER006
  25.     Integer  INTEGER007
  26.     Integer  INTEGER008
  27.     Integer  INTEGER009
  28.     Integer  INTEGER010
  29.     Integer  INTEGER011
  30.     String   STRING001
  31.     String   STRING002
  32.     String   TSTRING003(15)
  33.     String   TSTRING004(15)
  34.     String   STRING005
  35.     String   STRING006
  36.     String   TSTRING007(3)
  37.     String   STRING008
  38.     String   STRING009
  39.     String   STRING010
  40.     String   STRING011
  41.     String   STRING012
  42.  
  43. ;------------------------------------------------------------------------------
  44.  
  45.     StartDisp 1
  46.     KbdFlush
  47.     INTEGER007 = 7
  48.     INTEGER006 = 7
  49.     INTEGER003 = 0
  50.     INTEGER004 = 0
  51.     TINTEGER005(0) = 22
  52.     TINTEGER005(1) = 3
  53.     TINTEGER005(2) = 22
  54.     TINTEGER005(3) = 29
  55.     TINTEGER005(4) = 22
  56.     TINTEGER005(5) = 57
  57.     STRING005 = "@X21"
  58.     STRING006 = "@X01"
  59.     TSTRING007(0) = " qUIT^bACK^tO^bOARD "
  60.     TSTRING007(1) = " aDD^yAR^oWN^oNELINER "
  61.     TSTRING007(2) = " vIEW^wHO^wROTE^wHAT "
  62.     RdUNet PcbNode()
  63.     WrUNet PcbNode(), "Q", UN_Name(), UN_City(), "USiNG AGS UNReAL 1LiNeR", " "
  64.     FOpen 1, PPEPath() + "AGSUOL.DAT", 0, 2
  65.     For INTEGER001 = 1 To 15
  66.         FGet 1, TSTRING003(INTEGER001)
  67.         TSTRING003(INTEGER001) = Trim(TSTRING003(INTEGER001), " ")
  68.         FGet 1, TSTRING004(INTEGER001)
  69.     Next
  70.     FClose 1
  71.     PrintLn "@CLS@@POFF@   @X01/\______/\_______/\_____/\___  _ __ ____/\_______/\_____/\________/\______"
  72.     PrintLn "  @X05/    .  /   \    /   ____     \_________/   \    /   ___________   \ _____/"
  73.     PrintLn " @X02/    /  /        /   ___)__    /   \     \       /    ___)__    /  _/___   \_"
  74.     PrintLn " @X03\_______\___\   /_____    /______  /_____/__\   /_____    /___/    \_____   /"
  75.     PrintLn "@X01.-------------@X03\_/@X01----@X03\____/@X01-----@X03\__/@X01----------@X03\_/@X01----@X03\____/@X01----@X03\_____\@X01--@X03\___/@X01-."
  76.     Newlines 15
  77.     PrintLn "@X01,-----------------------------------------------------------------------------."
  78.     PrintLn "@X01|                                                                             |"
  79.     Print "@X01`-----------------------------------------------------------------------------'"
  80.     Gosub LABEL001
  81.     Print STRING006
  82.     For INTEGER004 = 0 To 3
  83.         AnsiPos TINTEGER005(INTEGER004 * 2 + 1), TINTEGER005(INTEGER004 * 2)
  84.         Print TSTRING007(INTEGER004)
  85.     Next
  86.     INTEGER004 = 0
  87.     Gosub LABEL004
  88.     Goto LABEL003
  89.     :LABEL001
  90.     For INTEGER001 = 1 To 15
  91.         STRING012 = "@X06{@X0F" + TSTRING003(INTEGER001) + "@X06}"
  92.         STRING001 = STRING012
  93.         INTEGER002 = 40 - Len(StripAtx(PCBMac(STRING012))) / 2
  94.         Gosub LABEL002
  95.         Gosub LABEL002
  96.         AnsiPos INTEGER002, 5 + INTEGER001
  97.         Print STRING001
  98.         Delay 2
  99.         STRING001 = STRING012
  100.         Gosub LABEL002
  101.         AnsiPos INTEGER002, 5 + INTEGER001
  102.         Print STRING001
  103.         Delay 2
  104.         STRING001 = STRING012
  105.         AnsiPos INTEGER002, 5 + INTEGER001
  106.         Print STRING001
  107.     Next
  108.     Return
  109.     :LABEL002
  110.     STRING001 = ReplaceStr(STRING001, "@X08", "")
  111.     STRING001 = ReplaceStr(STRING001, "@X07", "@X08")
  112.     STRING001 = ReplaceStr(STRING001, "@X06", "@X08")
  113.     STRING001 = ReplaceStr(STRING001, "@X05", "@X08")
  114.     STRING001 = ReplaceStr(STRING001, "@X04", "@X08")
  115.     STRING001 = ReplaceStr(STRING001, "@X03", "@X08")
  116.     STRING001 = ReplaceStr(STRING001, "@X02", "@X08")
  117.     STRING001 = ReplaceStr(STRING001, "@X01", "@X08")
  118.     STRING001 = ReplaceStr(STRING001, "@X0F", "@X07")
  119.     STRING001 = ReplaceStr(STRING001, "@X0E", "@X06")
  120.     STRING001 = ReplaceStr(STRING001, "@X0D", "@X05")
  121.     STRING001 = ReplaceStr(STRING001, "@X0C", "@X04")
  122.     STRING001 = ReplaceStr(STRING001, "@X0B", "@X03")
  123.     STRING001 = ReplaceStr(STRING001, "@X0A", "@X02")
  124.     STRING001 = ReplaceStr(STRING001, "@X09", "@X01")
  125.     Return
  126.     :LABEL003
  127.     STRING008 = Inkey()
  128.     If (((STRING008 == "LEFT") || (STRING008 == "4")) && (INTEGER003 > 0)) Then
  129.         INTEGER004 = INTEGER003
  130.         Dec INTEGER003
  131.         Gosub LABEL004
  132.     Endif
  133.     If (((STRING008 == "RIGHT") || (STRING008 == "6")) && (INTEGER003 < 2)) Then
  134.         INTEGER004 = INTEGER003
  135.         Inc INTEGER003
  136.         Gosub LABEL004
  137.     Endif
  138.     If (STRING008 <> Chr(13)) Goto LABEL003
  139.     Print "@POFF@"
  140.     If (INTEGER003 == 0) Then
  141.         Color 7
  142.         AnsiPos 1, 23
  143.         Newlines 2
  144.         PrintLn "@X07AEGiS UNREAL ONELiNER 2.0 AMi/X"
  145.         Delay 9
  146.         End
  147.     Endif
  148.     If (INTEGER003 == 1) Goto LABEL005
  149.     If (INTEGER003 == 2) Then
  150.         INTEGER008 = GetX()
  151.         INTEGER009 = GetY()
  152.         Gosub LABEL012
  153.         AnsiPos INTEGER008, INTEGER009
  154.     Endif
  155.     Goto LABEL003
  156.     :LABEL004
  157.     AnsiPos TINTEGER005(INTEGER004 * 2 + 1), TINTEGER005(INTEGER004 * 2)
  158.     Print STRING006
  159.     Print TSTRING007(INTEGER004)
  160.     AnsiPos TINTEGER005(INTEGER003 * 2 + 1), TINTEGER005(INTEGER003 * 2)
  161.     Print STRING005
  162.     Print TSTRING007(INTEGER003)
  163.     Return
  164.     :LABEL005
  165.     Gosub LABEL006
  166.     AnsiPos 1, 8
  167.     PrintLn "@X05                       uSE^aRROW^kEYS^tO^sELECT^a^cOLOR"
  168.     PrintLn "@X01-------------------------------------------------------------------------------"
  169.     PrintLn "@X0F  @X01████ @X02████ @X03████ @X04████ @X05████ @X06████ @X07████ @X08████ @X09████ @X0A████ @X0B████ @X0C████ @X0D████ @X0E████ @X0F████"
  170.     PrintLn "@X0F  @X01████ @X02████ @X03████ @X04████ @X05████ @X06████ @X07████ @X08████ @X09████ @X0A████ @X0B████ @X0C████ @X0D████ @X0E████ @X0F████"
  171.     PrintLn "@X0F  @X07[  ] [  ] [  ] [  ] [  ] [  ] [  ] [  ] [  ] [  ] [  ] [  ] [  ] [  ] [  ]"
  172.     PrintLn "@X01-------------------------------------------------------------------------------"
  173.     Newline
  174.     PrintLn "@X05                           eNTER^hERE^yOUR^oNELINER"
  175.     PrintLn "@X01-------------------------------------------------------------------------------"
  176.     PrintLn "@X07..............................................................................."
  177.     PrintLn "@X01-------------------------------------------------------------------------------"
  178.     Gosub LABEL007
  179.     End
  180.     :LABEL006
  181.     For INTEGER001 = 1 To 15
  182.         STRING012 = "@X06{@X0F" + TSTRING003(INTEGER001) + "@X06}"
  183.         STRING001 = STRING012
  184.         INTEGER002 = 40 - Len(StripAtx(PCBMac(STRING012))) / 2
  185.         Gosub LABEL002
  186.         AnsiPos INTEGER002, 5 + INTEGER001
  187.         Print STRING001
  188.         Delay 2
  189.         STRING001 = STRING012
  190.         Gosub LABEL002
  191.         Gosub LABEL002
  192.         AnsiPos INTEGER002, 5 + INTEGER001
  193.         Print STRING001
  194.         Delay 2
  195.         STRING001 = STRING012
  196.         AnsiPos INTEGER002, 5 + INTEGER001
  197.         Print "@X07" + Space(Len(StripAtx(PCBMac(STRING012))))
  198.     Next
  199.     Return
  200.     :LABEL007
  201.     STRING009 = ""
  202.     Gosub LABEL011
  203.     AnsiPos 1, 17
  204.     :LABEL008
  205.     STRING008 = Inkey()
  206.     If (STRING008 == "") Goto LABEL008
  207.     If (STRING008 <> "") Then
  208.         If ((STRING008 == Chr(8)) && (Len(STRING009) > 0)) Then
  209.             STRING009 = Mid(STRING009, 1, Len(STRING009) - 1)
  210.             Print Chr(8) + "@X07." + Chr(8)
  211.         Endif
  212.         If (STRING008 == Chr(13)) Then
  213.             Goto LABEL009
  214.         Endif
  215.         If ((((((((Asc(STRING008) > 27) && (STRING008 <> "LEFT")) && (STRING008 <> "RIGHT")) && (STRING008 <> "UP")) && (STRING008 <> "DOWN")) && (STRING008 <> "INS")) && (Len(STRING009) < 77)) && (STRING008 <> "DEL")) Then
  216.             Color INTEGER006
  217.             Print STRING008
  218.             STRING009 = STRING009 + STRING008
  219.         Endif
  220.         If ((STRING008 == "LEFT") && (INTEGER006 > 1)) Then
  221.             INTEGER008 = GetX()
  222.             INTEGER009 = GetY()
  223.             INTEGER007 = INTEGER006
  224.             Dec INTEGER006
  225.             Gosub LABEL011
  226.             Color INTEGER006
  227.             AnsiPos INTEGER008, INTEGER009
  228.         Endif
  229.         If ((STRING008 == "RIGHT") && (INTEGER006 < 15)) Then
  230.             INTEGER008 = GetX()
  231.             INTEGER009 = GetY()
  232.             INTEGER007 = INTEGER006
  233.             Inc INTEGER006
  234.             Gosub LABEL011
  235.             Color INTEGER006
  236.             AnsiPos INTEGER008, INTEGER009
  237.         Endif
  238.     Endif
  239.     Goto LABEL008
  240.     :LABEL009
  241.     STRING009 = ScrText(1, 17, 77, 1)
  242.     STRING009 = Trim(STRING009, " ")
  243.     STRING009 = RTrim(STRING009, ".")
  244.     STRING002 = STRING009
  245.     Gosub LABEL015
  246.     STRING010 = STRING002
  247.     STRING009 = ScrText(1, 17, 79, 1)
  248.     If (Exist(PPEPath() + "AGSUOL.LOG")) Goto LABEL010
  249.     FCreate 2, PPEPath() + "AGSUOL.LOG", 1, 3
  250.     FPutLn 2, "+-- aEGIS^uNREAL^oNELINER^lOGFILE ---+"
  251.     FPutLn 2, "+-- cREATED " + String(Date())
  252.     FPutLn 2, "+------------------------------------+"
  253.     FPutLn 2, ""
  254.     FClose 2
  255.     :LABEL010
  256.     FAppend 2, PPEPath() + "AGSUOL.LOG", 1, 3
  257.     FPutLn 2, "+---------------------------------------------------------------+"
  258.     FPutLn 2, U_Name() + " oN " + String(Date()) + " aT " + String(Time())
  259.     FPutLn 2, "[" + StripAtx(STRING010) + "]"
  260.     FClose 2
  261.     STRING001 = STRING009
  262.     Gosub LABEL002
  263.     AnsiPos 1, 17
  264.     Print STRING001
  265.     Delay 2
  266.     STRING001 = STRING009
  267.     Gosub LABEL002
  268.     Gosub LABEL002
  269.     AnsiPos 1, 17
  270.     Print STRING001
  271.     Delay 2
  272.     STRING001 = STRING009
  273.     Gosub LABEL002
  274.     Gosub LABEL002
  275.     Gosub LABEL002
  276.     AnsiPos 1, 17
  277.     Print STRING001
  278.     Delay 2
  279.     If (Len(StripAtx(STRING010)) == 0) STRING011 = "@X07...........................@X02yOUR^lINE^wAS^nOT^aDDED@X07............................."
  280.     If (Len(StripAtx(STRING010)) <> 0) Then
  281.         STRING011 = "@X07.............................@X02yOUR^lINE^wAS^aDDED@X07..............................."
  282.         For INTEGER001 = 1 To 14
  283.             TSTRING003(INTEGER001) = TSTRING003(INTEGER001 + 1)
  284.         Next
  285.         TSTRING003(15) = STRING010
  286.         GetUser
  287.         For INTEGER001 = 1 To 14
  288.             TSTRING004(INTEGER001) = TSTRING004(INTEGER001 + 1)
  289.         Next
  290.         TSTRING004(15) = Mid("% " + Mixed(U_Name()) + " % " + U_City + " % " + String(Time()) + " % " + String(Date()) + " %", 1, 77)
  291.         FOpen 1, PPEPath() + "AGSUOL.DAT", 1, 3
  292.         For INTEGER001 = 1 To 15
  293.             FPutLn 1, TSTRING003(INTEGER001)
  294.             FPutLn 1, TSTRING004(INTEGER001)
  295.         Next
  296.         FClose 1
  297.     Endif
  298.     STRING001 = STRING011
  299.     Gosub LABEL002
  300.     Gosub LABEL002
  301.     AnsiPos 1, 17
  302.     Print STRING001
  303.     Delay 2
  304.     STRING001 = STRING011
  305.     Gosub LABEL002
  306.     AnsiPos 1, 17
  307.     Print STRING001
  308.     Delay 2
  309.     STRING001 = STRING011
  310.     AnsiPos 1, 17
  311.     Print STRING001
  312.     Delay 2
  313.     AnsiPos 1, 23
  314.     Newlines 2
  315.     PrintLn "@X07AEGiS UNREAL ONELiNER 2.0 AMi/X"
  316.     Delay 9
  317.     Return
  318.     :LABEL011
  319.     AnsiPos (INTEGER007 - 1) * 5 + 4, 12
  320.     Print "@X07  "
  321.     AnsiPos (INTEGER006 - 1) * 5 + 4, 12
  322.     Print "@X0F"
  323.     Return
  324.     :LABEL012
  325.     INTEGER010 = 1
  326.     INTEGER011 = 1
  327.     Gosub LABEL014
  328.     STRING008 = ""
  329.     :LABEL013
  330.     STRING008 = Inkey()
  331.     If ((STRING008 == "DOWN") && (INTEGER010 < 15)) Then
  332.         INTEGER011 = INTEGER010
  333.         Inc INTEGER010
  334.         Gosub LABEL014
  335.     Endif
  336.     If ((STRING008 == "UP") && (INTEGER010 > 1)) Then
  337.         INTEGER011 = INTEGER010
  338.         Dec INTEGER010
  339.         Gosub LABEL014
  340.     Endif
  341.     If (STRING008 <> Chr(27)) Goto LABEL013
  342.     STRING012 = "@X06{@X07" + TSTRING003(INTEGER010) + "@X06}"
  343.     INTEGER002 = 39 - Len(StripAtx(PCBMac(STRING012))) / 2
  344.     STRING012 = "@X07" + Space(INTEGER002) + STRING012
  345.     STRING012 = STRING012 + Space(79 - Len(StripAtx(PCBMac(STRING012))))
  346.     AnsiPos 1, 5 + INTEGER010
  347.     Print STRING012
  348.     Return
  349.     :LABEL014
  350.     STRING012 = "@X06{@X07" + TSTRING003(INTEGER011) + "@X06}"
  351.     INTEGER002 = 39 - Len(StripAtx(PCBMac(STRING012))) / 2
  352.     STRING012 = "@X07" + Space(INTEGER002) + STRING012
  353.     STRING012 = STRING012 + Space(79 - Len(StripAtx(PCBMac(STRING012))))
  354.     AnsiPos 1, 5 + INTEGER011
  355.     Print STRING012
  356.     STRING012 = Trim(TSTRING004(INTEGER010), " ")
  357.     INTEGER002 = 39 - Len(StripAtx(PCBMac(STRING012))) / 2
  358.     STRING012 = "@X21" + Space(INTEGER002) + STRING012
  359.     STRING012 = STRING012 + Space(79 - Len(StripAtx(PCBMac(STRING012))))
  360.     AnsiPos 1, 5 + INTEGER010
  361.     Print STRING012
  362.     Return
  363.     :LABEL015
  364.     STRING002 = ReplaceStr(STRING002, "@AUTOMORE", "@automore")
  365.     STRING002 = ReplaceStr(STRING002, "@BEEP", "@beep")
  366.     STRING002 = ReplaceStr(STRING002, "@CLREOL", "@clreol")
  367.     STRING002 = ReplaceStr(STRING002, "@CLS", "@cls")
  368.     STRING002 = ReplaceStr(STRING002, "@DELAY", "@delay")
  369.     STRING002 = ReplaceStr(STRING002, "@MORE", "@more")
  370.     STRING002 = ReplaceStr(STRING002, "@PAUSE", "@pause")
  371.     STRING002 = ReplaceStr(STRING002, "@WAIT", "@wait")
  372.     STRING002 = ReplaceStr(STRING002, "@POFF", "@poff")
  373.     STRING002 = ReplaceStr(STRING002, "@PON", "@pon")
  374.     STRING002 = ReplaceStr(STRING002, "@POS", "@pos")
  375.     STRING002 = ReplaceStr(STRING002, "@QOFF", "@qoff")
  376.     STRING002 = ReplaceStr(STRING002, "@QON", "@qon")
  377.     STRING002 = ReplaceStr(STRING002, "@WHO", "@who")
  378.     Return
  379.  
  380. ;------------------------------------------------------------------------------
  381. ;
  382. ; Usage report (before postprocessing)
  383. ;
  384. ; ■ Statements used :
  385. ;
  386. ;    2       End
  387. ;    4       Color 
  388. ;    36      Goto 
  389. ;    121     Let 
  390. ;    27      Print 
  391. ;    19      PrintLn 
  392. ;    26      If 
  393. ;    1       FCreate 
  394. ;    2       FOpen 
  395. ;    1       FAppend 
  396. ;    4       FClose 
  397. ;    2       FGet 
  398. ;    9       FPutLn 
  399. ;    1       StartDisp 
  400. ;    1       GetUser
  401. ;    29      Gosub 
  402. ;    9       Return
  403. ;    12      Delay 
  404. ;    3       Inc 
  405. ;    3       Dec 
  406. ;    1       Newline
  407. ;    3       Newlines 
  408. ;    1       RdUNet 
  409. ;    1       WrUNet 
  410. ;    27      AnsiPos 
  411. ;    1       KbdFlush
  412. ;
  413. ;
  414. ; ■ Functions used :
  415. ;
  416. ;    8       *
  417. ;    5       /
  418. ;    64      +
  419. ;    11      -
  420. ;    15      ==
  421. ;    10      <>
  422. ;    11      <
  423. ;    7       <=
  424. ;    5       >
  425. ;    14      >=
  426. ;    21      !
  427. ;    28      &&
  428. ;    9       ||
  429. ;    14      Len(
  430. ;    2       Mid()
  431. ;    7       Space()
  432. ;    6       Chr()
  433. ;    1       Asc()
  434. ;    1       RTrim()
  435. ;    3       Trim()
  436. ;    3       Date()
  437. ;    2       Time()
  438. ;    2       U_Name()
  439. ;    12      StripAtx()
  440. ;    3       Inkey()
  441. ;    5       String()
  442. ;    5       PPEPath()
  443. ;    2       PcbNode()
  444. ;    1       UN_Name()
  445. ;    1       UN_City()
  446. ;    1       Exist()
  447. ;    3       GetX()
  448. ;    3       GetY()
  449. ;    2       ScrText()
  450. ;    29      ReplaceStr()
  451. ;    1       Mixed()
  452. ;    9       PCBMac()
  453. ;
  454. ;------------------------------------------------------------------------------
  455. ;
  456. ; Analysis flags : No flag
  457. ;
  458. ;------------------------------------------------------------------------------
  459. ;
  460. ; Postprocessing report
  461. ;
  462. ;    7       For/Next
  463. ;    0       While/EndWhile
  464. ;    13      If/Then or If/Then/Else
  465. ;    0       Select Case
  466. ;
  467. ;------------------------------------------------------------------------------
  468. ;                 AEGiS Corp - Break the routines, code against the machines!
  469. ;------------------------------------------------------------------------------
  470.