home *** CD-ROM | disk | FTP | other *** search
/ Collection of Hack-Phreak Scene Programs / cleanhpvac.zip / cleanhpvac / PO-NW20.ZIP / NEWS.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1997-03-23  |  4KB  |  283 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.     Boolean  BOOLEAN001
  20.     Integer  INTEGER001
  21.     Integer  INTEGER002
  22.     Integer  INTEGER003
  23.     Integer  INTEGER004
  24.     Integer  INTEGER005
  25.     Integer  INTEGER006
  26.     Integer  INTEGER009
  27.     Integer  INTEGER014
  28.     String   STRING001
  29.     String   TSTRING002(4)
  30.     String   STRING003
  31.     String   STRING005
  32.     String   STRING006
  33.     String   STRING007
  34.     String   STRING008
  35.     String   STRING009
  36.     Int      INT001
  37.     Int      INT002
  38.     Int      INT003
  39.     Declare  Function FUNCTION001() Integer
  40.     Declare  Function FUNCTION002() String
  41.     Declare  Procedure PROC001(Integer INTEGER010, Integer INTEGER011, Integer INTEGER012, Integer INTEGER013)
  42.     Declare  Procedure PROC002(Integer INTEGER007, Integer INTEGER008, String STRING004)
  43.     Declare  Procedure PROC003()
  44.     Declare  Procedure PROC004()
  45.  
  46. ;------------------------------------------------------------------------------
  47.  
  48.     While ((TokCount() == 0)) STRING003 = FUNCTION002()
  49.     STRING003 = GetToken()
  50.     PROC004()
  51.     While (Exist(PPEPath() + "news" + STRING003 + ".pcb")) Print "@POFF@@CLS@"
  52.     DispFile PPEPath() + "news" + STRING003 + ".pcb", 1
  53.     Goto LABEL001
  54.     PrintLn "@CLS@■ ansibg not found. aborted."
  55.     Wait
  56.     End
  57.     :LABEL001
  58.     Print "@PON@@X07"
  59.     INTEGER001 = 1
  60.     INTEGER002 = FUNCTION001()
  61.     While ((INTEGER003 < INTEGER002)) PROC001(INTEGER004, INTEGER005, INTEGER001, INTEGER003)
  62.     PROC001(INTEGER004, INTEGER005, INTEGER001, INTEGER002 - 1)
  63.     :LABEL002
  64.     While (1) STRING001 = Inkey()
  65.     While ((STRING001 <> "")) While (((STRING001 == "DOWN") || (STRING001 == "2"))) If ((INTEGER001 < INTEGER002 - INTEGER003)) Inc INTEGER001
  66.     PROC001(INTEGER004, INTEGER005, INTEGER001, INTEGER003)
  67.     Goto LABEL003
  68.     While (((STRING001 == "UP") || (STRING001 == "8"))) If ((INTEGER001 > 1)) Dec INTEGER001
  69.     PROC001(INTEGER004, INTEGER005, INTEGER001, INTEGER003)
  70.     Goto LABEL003
  71.     While (((STRING001 == Chr(13)) || (STRING001 == Chr(27)))) PROC003()
  72.     :LABEL003
  73.     Goto LABEL002
  74.     End
  75.  
  76. ;------------------------------------------------------------------------------
  77.  
  78.     Procedure PROC004()
  79.  
  80.     Int      INT001
  81.  
  82.     While (Exist(PPEPath() + "news" + STRING003 + ".cfg")) FOpen 1, PPEPath() + "news" + STRING003 + ".cfg", 0, 0
  83.     FGet 1, INTEGER003
  84.     FGet 1, INTEGER005
  85.     FGet 1, INTEGER004
  86.     FGet 1, INTEGER006
  87.     INT001 = 1
  88.     Goto LABEL004
  89.     INT001 = INT001 + 1
  90.     :LABEL004
  91.     While ((INT001 <= 4)) FGet 1, TSTRING002(INT001)
  92.     FClose 1
  93.     Goto LABEL005
  94.     PrintLn "@CLS@■ no configfile found. aborted."
  95.     Wait
  96.     End
  97.     :LABEL005
  98.  
  99.     EndProc
  100.  
  101.  
  102. ;------------------------------------------------------------------------------
  103.  
  104.     Procedure PROC002(Integer INTEGER007, Integer INTEGER008, String STRING004)
  105.  
  106.     String   STRING005
  107.  
  108.     STRING005 = STRING004
  109.     While ((InStr(STRING005, "■") <> 0)) STRING005 = TSTRING002(4) + STRING004
  110.     AnsiPos INTEGER007, INTEGER008
  111.     STRING005 = RTrim(STRING005, " ")
  112.     Print STRING005
  113.     Goto LABEL006
  114.     STRING005 = "@Y00" + STRING004
  115.     STRING005 = ReplaceStr(STRING005, "@Y00", TSTRING002(1))
  116.     STRING005 = ReplaceStr(STRING005, "@Y01", TSTRING002(2))
  117.     STRING005 = ReplaceStr(STRING005, "@Y02", TSTRING002(3))
  118.     STRING005 = Trim(STRING005, " ")
  119.     If (InStr(STRING005, "@CENTER@") <> 0) STRING005 = StripStr(STRING005, "@CENTER@")
  120.     STRING005 = Trim(STRING005, " ")
  121.     STRING005 = Space((INTEGER006 - Len(StripAtx(STRING005)) - INTEGER004) / 2) + STRING005
  122.     If (InStr(STRING005, "@RIGHT@") <> 0) STRING005 = StripStr(STRING005, "@RIGHT@")
  123.     STRING005 = Trim(STRING005, " ")
  124.     STRING005 = Space(INTEGER006 - Len(StripAtx(STRING005)) - INTEGER004) + STRING005
  125.     AnsiPos INTEGER007, INTEGER008
  126.     STRING005 = RTrim(STRING005, " ")
  127.     Print STRING005
  128.     :LABEL006
  129.  
  130.     EndProc
  131.  
  132.  
  133. ;------------------------------------------------------------------------------
  134.  
  135.     Function FUNCTION001() Integer
  136.  
  137.     Int      INT002
  138.     String   STRING006
  139.     Integer  INTEGER010
  140.  
  141.     INT002 = 0
  142.     STRING006 = ""
  143.     While (Exist(PPEPath() + "news.txt")) FOpen 1, PPEPath() + "news.txt", 0, 0
  144.     :LABEL007
  145.     While ((InStr(STRING006, "■ END") == 0)) Inc INT002
  146.     FGet 1, STRING006
  147.     Goto LABEL007
  148.     FClose 1
  149.     Goto LABEL008
  150.     PrintLn "@CLS@■ newsfile not found. aborted."
  151.     Wait
  152.     End
  153.     :LABEL008
  154.     FUNCTION001 = INT002
  155.  
  156.     EndFunc
  157.  
  158.  
  159. ;------------------------------------------------------------------------------
  160.  
  161.     Procedure PROC001(Integer INTEGER010, Integer INTEGER011, Integer INTEGER012, Integer INTEGER013)
  162.  
  163.     Int      INT003
  164.     String   STRING007
  165.  
  166.     FOpen 1, PPEPath() + "news.txt", 0, 0
  167.     INT003 = 1
  168.     Goto LABEL009
  169.     INT003 = INT003 + 1
  170.     :LABEL009
  171.     While ((INT003 <= INTEGER012 - 1)) FGet 1, STRING007
  172.     INT003 = 1
  173.     Goto LABEL011
  174.     :LABEL010
  175.     INT003 = INT003 + 1
  176.     :LABEL011
  177.     While ((INT003 <= INTEGER013)) FGet 1, STRING007
  178.     AnsiPos INTEGER010, INTEGER011 + INT003 - 1
  179.     Print Space(INTEGER006 - INTEGER004)
  180.     PROC002(INTEGER010, INTEGER011 + INT003 - 1, STRING007)
  181.     Goto LABEL010
  182.     FClose 1
  183.  
  184.     EndProc
  185.  
  186.  
  187. ;------------------------------------------------------------------------------
  188.  
  189.     Function FUNCTION002() String
  190.  
  191.     String   STRING009
  192.     Integer  INTEGER014
  193.     Boolean  BOOLEAN001
  194.  
  195.     BOOLEAN001 = 0
  196.     :LABEL012
  197.     While ((BOOLEAN001 == 0)) INTEGER014 = 1 + Random(8)
  198.     STRING009 = I2S(INTEGER014, 10)
  199.     If (Exist(PPEPath() + "news" + STRING009 + ".pcb")) If Exist(PPEPath() + "news" + STRING009 + ".cfg") BOOLEAN001 = 1
  200.     Goto LABEL012
  201.     FUNCTION002 = STRING009
  202.  
  203.     EndFunc
  204.  
  205.  
  206. ;------------------------------------------------------------------------------
  207.  
  208.     Procedure PROC003()
  209.  
  210.     Print "@X07@CLS@"
  211.  
  212.     EndProc
  213.  
  214.  
  215. ;------------------------------------------------------------------------------
  216. ;
  217. ; Usage report (before postprocessing)
  218. ;
  219. ; ■ Statements used :
  220. ;
  221. ;    4       End
  222. ;    3       Wait
  223. ;    18      Goto 
  224. ;    34      Let 
  225. ;    6       Print 
  226. ;    3       PrintLn 
  227. ;    22      If 
  228. ;    1       DispFile 
  229. ;    3       FOpen 
  230. ;    3       FClose 
  231. ;    8       FGet 
  232. ;    2       Inc 
  233. ;    1       Dec 
  234. ;    3       AnsiPos 
  235. ;    4       EndProc
  236. ;    2       EndFunc
  237. ;
  238. ;
  239. ; ■ Functions used :
  240. ;
  241. ;    1       /
  242. ;    31      +
  243. ;    10      -
  244. ;    9       ==
  245. ;    4       <>
  246. ;    2       <
  247. ;    3       <=
  248. ;    1       >
  249. ;    3       ||
  250. ;    2       Len(
  251. ;    3       Space()
  252. ;    2       Chr()
  253. ;    4       InStr()
  254. ;    2       RTrim()
  255. ;    3       Trim()
  256. ;    1       Random()
  257. ;    2       StripAtx()
  258. ;    1       Inkey()
  259. ;    9       PPEPath()
  260. ;    1       GetToken()
  261. ;    5       Exist()
  262. ;    1       I2S()
  263. ;    1       TokCount()
  264. ;    3       ReplaceStr()
  265. ;    2       StripStr()
  266. ;
  267. ;------------------------------------------------------------------------------
  268. ;
  269. ; Analysis flags : No flag
  270. ;
  271. ;------------------------------------------------------------------------------
  272. ;
  273. ; Postprocessing report
  274. ;
  275. ;    0       For/Next
  276. ;    0       While/EndWhile
  277. ;    0       If/Then or If/Then/Else
  278. ;    0       Select Case
  279. ;
  280. ;------------------------------------------------------------------------------
  281. ;                 AEGiS Corp - Break the routines, code against the machines!
  282. ;------------------------------------------------------------------------------
  283.