home *** CD-ROM | disk | FTP | other *** search
/ Collection of Hack-Phreak Scene Programs / cleanhpvac.zip / cleanhpvac / PST-COMM.ZIP / CMT.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1997-03-23  |  4KB  |  278 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.3O (Encryption type II) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Boolean  BOOLEAN001
  20.     Boolean  BOOLEAN002
  21.     Integer  INTEGER001
  22.     Integer  INTEGER002
  23.     Integer  INTEGER003
  24.     Integer  INTEGER004
  25.     Integer  INTEGER005
  26.     Integer  INTEGER006
  27.     Integer  INTEGER007
  28.     Integer  INTEGER008
  29.     Integer  INTEGER009
  30.     Integer  INTEGER010
  31.     Integer  INTEGER011
  32.     Integer  INTEGER012
  33.     Integer  INTEGER013
  34.     String   STRING001
  35.     String   STRING002
  36.     String   STRING003
  37.     String   STRING004
  38.     String   STRING005
  39.     String   STRING006
  40.     String   STRING007
  41.     String   STRING008
  42.  
  43. ;------------------------------------------------------------------------------
  44.  
  45.     StartDisp 1
  46.     Gosub LABEL009
  47.     Gosub LABEL001
  48.     ResetDisp
  49.     StartDisp 0
  50.     Gosub LABEL002
  51.     End
  52.     :LABEL001
  53.     Gosub LABEL008
  54.     INTEGER006 = 1
  55.     STRING007 = ReadLine(STRING001, 6 + 3 * INTEGER006 - 2)
  56.     Tokenize STRING007
  57.     INTEGER002 = S2I(GetToken(), 10)
  58.     INTEGER003 = S2I(GetToken(), 10)
  59.     INTEGER004 = INTEGER002
  60.     INTEGER005 = INTEGER003
  61.     AnsiPos INTEGER005, INTEGER004
  62.     BOOLEAN001 = 0
  63.     Gosub LABEL007
  64.     Gosub LABEL006
  65.     While (BOOLEAN001 == 0) Do
  66.         STRING006 = Inkey()
  67.         INTEGER008 = Asc(STRING006)
  68.         If (INTEGER008 == 13) Then
  69.             Gosub LABEL004
  70.             BOOLEAN001 = 1
  71.             Cls
  72.             Continue
  73.         Endif
  74.         If ((((INTEGER008 == 85) || (INTEGER008 == 65)) || (INTEGER008 == 97)) || (INTEGER008 == 76)) Then
  75.             Gosub LABEL005
  76.             Dec INTEGER006
  77.             If (INTEGER006 < 1) INTEGER006 = INTEGER001
  78.             STRING007 = ReadLine(STRING001, 6 + 3 * INTEGER006 - 2)
  79.             Tokenize STRING007
  80.             INTEGER004 = S2I(GetToken(), 10)
  81.             INTEGER005 = S2I(GetToken(), 10)
  82.             Gosub LABEL007
  83.             Gosub LABEL006
  84.             Continue
  85.         Endif
  86.         If ((((INTEGER008 == 68) || (INTEGER008 == 90)) || (INTEGER008 == 122)) || (INTEGER008 == 82)) Then
  87.             Gosub LABEL005
  88.             Inc INTEGER006
  89.             If (INTEGER006 > INTEGER001) INTEGER006 = 1
  90.             STRING007 = ReadLine(STRING001, 6 + 3 * INTEGER006 - 2)
  91.             Tokenize STRING007
  92.             INTEGER004 = S2I(GetToken(), 10)
  93.             INTEGER005 = S2I(GetToken(), 10)
  94.             Gosub LABEL007
  95.             Gosub LABEL006
  96.             Continue
  97.         Endif
  98.         If (((INTEGER008 == 113) || (INTEGER008 == 27)) || (INTEGER008 == 81)) Then
  99.             GetUser
  100.             AnsiPos 1, U_PageLen
  101.             BOOLEAN001 = 1
  102.             Continue
  103.         Endif
  104.         Gosub LABEL003
  105.     EndWhile
  106.     Return
  107.     :LABEL002
  108.     DefColor
  109.     Newline
  110.     PrintLn "@X08cOMMENT tO sYSOP bY @X0D<@X05p@X08AIn> -+=@X0A[ @X0Dp@X0F·@X0DΣ@X0F·@X0DN@X0F·@X0DT@X0F·@X0DR@X0F·@X0Di@X0F·@X0DD@X0F·@X0DG@X0F·@X0DΣ  o@X0F·@X0DZ! @X0A]@X08=+-@X07"
  111.     Return
  112.     :LABEL003
  113.     For INTEGER010 = 1 To INTEGER001
  114.         If (Chr(INTEGER008) == String(INTEGER010)) Then
  115.             Gosub LABEL005
  116.             INTEGER006 = S2I(Chr(INTEGER008), 10)
  117.             STRING007 = ReadLine(STRING001, 6 + 3 * INTEGER006 - 2)
  118.             Tokenize STRING007
  119.             INTEGER004 = S2I(GetToken(), 10)
  120.             INTEGER005 = S2I(GetToken(), 10)
  121.             Gosub LABEL007
  122.             Gosub LABEL006
  123.             GetUser
  124.             DefColor
  125.             AnsiPos 1, U_PageLen
  126.             Gosub LABEL004
  127.             Break
  128.         Endif
  129.     Next
  130.     Return
  131.     :LABEL004
  132.     STRING004 = ReadLine(STRING001, 6 + 3 * INTEGER006)
  133.     FOpen 1, STRING002, 1, 2
  134.     FPutLn 1, "y"
  135.     FClose 1
  136.     STRING007 = "E" + Chr(13) + STRING004 + Chr(13) + STRING005 + Chr(13) + "R" + Chr(13)
  137.     KbdStuff STRING007
  138.     DefColor
  139.     BOOLEAN001 = 1
  140.     Return
  141.     :LABEL005
  142.     If (BOOLEAN002 == 1) Then
  143.         AnsiPos INTEGER012 - 1, INTEGER011
  144.         Print STRING008
  145.     Else
  146.         AnsiPos INTEGER012 + INTEGER007, INTEGER011
  147.         Print STRING008
  148.     Endif
  149.     Return
  150.     :LABEL006
  151.     Select Case (BOOLEAN002)
  152.         Case 1
  153.             AnsiPos INTEGER005 - 1, INTEGER004
  154.             Print STRING003 + StripAtx(STRING008)
  155.         Case 0
  156.             AnsiPos INTEGER005 + INTEGER007, INTEGER004
  157.             Print ReadLine(STRING001, 6 + 3 * INTEGER006 - 1)
  158.     End Select
  159.     Return
  160.     :LABEL007
  161.     INTEGER011 = INTEGER004
  162.     INTEGER012 = INTEGER005
  163.     INTEGER013 = INTEGER006
  164.     Select Case (BOOLEAN002)
  165.         Case 1
  166.             STRING008 = ScrText(INTEGER012 - 1, INTEGER011, 3, 1)
  167.         Case 0
  168.             INTEGER009 = Len(StripAtx(ReadLine(STRING001, 6 + 3 * INTEGER006 - 1)))
  169.             STRING008 = ScrText(INTEGER012 + INTEGER007, INTEGER011, INTEGER009, 1)
  170.     End Select
  171.     Return
  172.     :LABEL008
  173.     If (Exist(PPEPath() + "CMT.PCB")) DispFile PPEPath() + "CMT.PCB", 0
  174.     Return
  175.     :LABEL009
  176.     STRING001 = PPEPath() + "CMT.CFG"
  177.     STRING002 = PPEPath() + "INDICATE.DAT"
  178.     FOpen 1, STRING002, 1, 2
  179.     FPutLn 1, "n"
  180.     FClose 1
  181.     If (!Exist(STRING001)) End
  182.     STRING007 = ReadLine(STRING001, 2)
  183.     Select Case (Upper(STRING007))
  184.         Case "N"
  185.             BOOLEAN002 = 1
  186.         Case "D"
  187.             BOOLEAN002 = 0
  188.     End Select
  189.     STRING003 = ReadLine(STRING001, 3)
  190.     INTEGER007 = S2I(ReadLine(STRING001, 4), 10)
  191.     STRING005 = ReadLine(STRING001, 5)
  192.     INTEGER001 = S2I(ReadLine(STRING001, 6), 10)
  193.     If (INTEGER001 < 1) Then
  194.         INTEGER001 = 1
  195.     ElseIf (INTEGER001 > 10) Then
  196.         INTEGER001 = 10
  197.     Endif
  198.     STRING007 = ReadLine(STRING001, 6 + 3 * 1 - 2)
  199.     Tokenize STRING007
  200.     INTEGER004 = S2I(GetToken(), 10)
  201.     INTEGER005 = S2I(GetToken(), 10)
  202.     Return
  203.  
  204. ;------------------------------------------------------------------------------
  205. ;
  206. ; Usage report (before postprocessing)
  207. ;
  208. ; ■ Statements used :
  209. ;
  210. ;    2       End
  211. ;    1       Cls
  212. ;    28      Goto 
  213. ;    48      Let 
  214. ;    4       Print 
  215. ;    1       PrintLn 
  216. ;    20      If 
  217. ;    1       DispFile 
  218. ;    2       FOpen 
  219. ;    2       FClose 
  220. ;    2       FPutLn 
  221. ;    1       ResetDisp
  222. ;    2       StartDisp 
  223. ;    2       GetUser
  224. ;    3       DefColor
  225. ;    18      Gosub 
  226. ;    9       Return
  227. ;    1       Inc 
  228. ;    1       Dec 
  229. ;    1       Newline
  230. ;    5       Tokenize 
  231. ;    1       KbdStuff 
  232. ;    7       AnsiPos 
  233. ;
  234. ;
  235. ; ■ Functions used :
  236. ;
  237. ;    8       *
  238. ;    24      +
  239. ;    10      -
  240. ;    21      ==
  241. ;    3       <
  242. ;    1       <=
  243. ;    2       >
  244. ;    2       >=
  245. ;    17      !
  246. ;    2       &&
  247. ;    9       ||
  248. ;    1       Len(
  249. ;    2       Upper()
  250. ;    6       Chr()
  251. ;    1       Asc()
  252. ;    2       StripAtx()
  253. ;    1       Inkey()
  254. ;    1       String()
  255. ;    4       PPEPath()
  256. ;    13      ReadLine()
  257. ;    10      GetToken()
  258. ;    2       Exist()
  259. ;    13      S2I()
  260. ;    2       ScrText()
  261. ;
  262. ;------------------------------------------------------------------------------
  263. ;
  264. ; Analysis flags : No flag
  265. ;
  266. ;------------------------------------------------------------------------------
  267. ;
  268. ; Postprocessing report
  269. ;
  270. ;    1       For/Next
  271. ;    1       While/EndWhile
  272. ;    8       If/Then or If/Then/Else
  273. ;    3       Select Case
  274. ;
  275. ;------------------------------------------------------------------------------
  276. ;                 AEGiS Corp - Break the routines, code against the machines!
  277. ;------------------------------------------------------------------------------
  278.