home *** CD-ROM | disk | FTP | other *** search
/ Collection of Hack-Phreak Scene Programs / cleanhpvac.zip / cleanhpvac / PWANK082.ZIP / NUKEREC.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1995-04-09  |  4KB  |  305 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.     String   STRING001
  20.     String   STRING002
  21.     String   STRING003
  22.     String   TSTRING004(20)
  23.     String   TSTRING005(20)
  24.     String   STRING006
  25.     String   STRING007
  26.     String   STRING008
  27.     String   STRING009
  28.     String   STRING010
  29.     String   STRING011
  30.     String   STRING012
  31.     Int      INT001
  32.     Int      INT002
  33.     Int      INT003
  34.     Int      INT004
  35.     Int      INT005
  36.     Int      TINT006(20)
  37.     Int      TINT007(20)
  38.     Int      INT008
  39.     Int      INT009
  40.     Int      INT010
  41.  
  42. ;------------------------------------------------------------------------------
  43.  
  44.     INT004 = 1
  45.     Goto LABEL004
  46.     :LABEL001
  47.     DefColor
  48.     Print STRING008
  49.     INT008 = GetX()
  50.     INT009 = GetY()
  51.     For INT005 = 1 To INT002
  52.         TINT006(INT005) = GetX()
  53.         TINT007(INT005) = GetY()
  54.         Print TSTRING004(INT005)
  55.         If (INT001 == 1) Then
  56.             If (INT005 == INT002) Then
  57.                 Print STRING010
  58.             Else
  59.                 Print STRING009
  60.             Endif
  61.         Else
  62.             AnsiPos INT008, GetY() + 1
  63.         Endif
  64.         TSTRING005(INT005) = Left(Strip(StripAtx(TSTRING004(INT005)), " "), 1)
  65.     Next
  66.     INT003 = INT004
  67.     Gosub LABEL003
  68.     Print STRING006, StripAtx(TSTRING004(INT003))
  69.     :LABEL002
  70.     STRING007 = Inkey()
  71.     Select Case (STRING007)
  72.         Case Chr(13)
  73.             DefColor
  74.             Return
  75.         Case "RIGHT", "DOWN", "."
  76.             Gosub LABEL003
  77.             Print TSTRING004(INT003)
  78.             If (INT003 == INT002) Then
  79.                 INT003 = 1
  80.             Else
  81.                 Inc INT003
  82.             Endif
  83.             Gosub LABEL003
  84.             Print STRING006, StripAtx(TSTRING004(INT003))
  85.         Case "LEFT", "UP", ","
  86.             Gosub LABEL003
  87.             Print TSTRING004(INT003)
  88.             If (INT003 == 1) Then
  89.                 INT003 = INT002
  90.             Else
  91.                 Dec INT003
  92.             Endif
  93.             Gosub LABEL003
  94.             Print STRING006, StripAtx(TSTRING004(INT003))
  95.         Case "END"
  96.             Gosub LABEL003
  97.             Print TSTRING004(INT003)
  98.             INT003 = INT002
  99.             Gosub LABEL003
  100.             Print STRING006, StripAtx(TSTRING004(INT003))
  101.         Case "HOME"
  102.             Gosub LABEL003
  103.             Print TSTRING004(INT003)
  104.             INT003 = 1
  105.             Gosub LABEL003
  106.             Print STRING006, StripAtx(TSTRING004(INT003))
  107.         Case ""
  108.             For INT005 = 1 To INT002
  109.                 If (Upper(STRING007) == Upper(TSTRING005(INT005))) Then
  110.                     Gosub LABEL003
  111.                     Print TSTRING004(INT003)
  112.                     INT003 = INT005
  113.                     Gosub LABEL003
  114.                     Print STRING006, StripAtx(TSTRING004(INT003))
  115.                     KbdStuff Chr(13)
  116.                 Endif
  117.             Next
  118.     End Select
  119.     Goto LABEL002
  120.     :LABEL003
  121.     INT010 = GetX()
  122.     If (INT010 > TINT006(INT003)) Then
  123.         Backup INT010 - TINT006(INT003)
  124.     ElseIf (INT010 < TINT006(INT003)) Then
  125.         Forward TINT006(INT003) - INT010
  126.     Endif
  127.     Return
  128.     :LABEL004
  129.     DefColor
  130.     Cls
  131.     PrintLn "@X08Nuke Recommendation PPE v1.0 (C) BlackCat 1994"
  132.     :LABEL005
  133.     FreshLine
  134.     Newline
  135.     Print "@X07NukeRec CMD@X0C? "
  136.     Gosub LABEL009
  137.     Select Case (INT003)
  138.         Case 1
  139.             Gosub LABEL006
  140.         Case 2
  141.             Gosub LABEL010
  142.         Case 3
  143.             FreshLine
  144.             Newline
  145.             PrintLn "@X0CThanks for using NukeRec!"
  146.             End
  147.     End Select
  148.     Goto LABEL005
  149.     :LABEL006
  150.     DefColor
  151.     Cls
  152.     PrintLn "@X07Please enter the filenames of the files you want to recommend for"
  153.     PrintLn "nuking. Use wildcards to refer to more file. You can enter more than"
  154.     PrintLn "one filename at the prompt."
  155.     Newline
  156.     STRING011 = ""
  157.     InputStr "@X0FFilenames (enter aborts): _", STRING011, 7, 60, Mask_Pwd(), 8
  158.     FreshLine
  159.     If (STRING011 == "") Then
  160.         Return
  161.     Endif
  162.     Newline
  163.     PrintLn "@X07Please enter a comment indicating why you want these file(s)"
  164.     PrintLn "nuked/awarded or whatever"
  165.     STRING012 = ""
  166.     InputStr "@X0F>_", STRING012, 7, 60, Mask_Pwd(), 0
  167.     If (STRING012 == "") STRING012 = "NO COMMENT GIVEN"
  168.     If (Exist(PPEPath() + "nukerec.dat")) Goto LABEL007
  169.     FCreate 1, PPEPath() + "nukerec.dat", 1, 0
  170.     Goto LABEL008
  171.     :LABEL007
  172.     FAppend 1, PPEPath() + "nukerec.dat", 1, 0
  173.     :LABEL008
  174.     FPutLn 1, U_Name() + ", " + String(Date()) + " (" + String(Time()) + ")"
  175.     FPutLn 1, STRING011
  176.     FPutLn 1, STRING012
  177.     FClose 1
  178.     FreshLine
  179.     PrintLn "@X0CYour recommendation has been added!"
  180.     Return
  181.     :LABEL009
  182.     INT001 = 1
  183.     INT002 = 3
  184.     TSTRING004(1) = "@X07 Add "
  185.     TSTRING004(2) = "@X07 View "
  186.     TSTRING004(3) = "@X07 Quit "
  187.     STRING006 = "@X1F"
  188.     STRING008 = ""
  189.     STRING009 = ""
  190.     STRING010 = ""
  191.     Goto LABEL001
  192.     :LABEL010
  193.     DefColor
  194.     Cls
  195.     If (Exist(PPEPath() + "nukerec.dat")) Goto LABEL011
  196.     FreshLine
  197.     PrintLn "@X0CNo recommendations pending!"
  198.     Newline
  199.     Return
  200.     :LABEL011
  201.     StartDisp 2
  202.     FOpen 1, PPEPath() + "nukerec.dat", 0, 0
  203.     FreshLine
  204.     PrintLn "@X08****************************@X07*********************@X0F*************************"
  205.     While (1) Do
  206.         FGet 1, STRING001
  207.         FGet 1, STRING002
  208.         FGet 1, STRING003
  209.         If (Ferr(1)) Break
  210.         PrintLn "@X0C   User: @X0F", STRING001
  211.         PrintLn "@X0CFile(s): @X07", STRING002
  212.         PrintLn "@X0CComment: @X09", STRING003
  213.         PrintLn "@X08****************************@X07*********************@X0F*************************"
  214.         If (Abort()) Then
  215.             ResetDisp
  216.             Break
  217.         Endif
  218.     EndWhile
  219.     FClose 1
  220.     StartDisp 1
  221.     Return
  222.  
  223. ;------------------------------------------------------------------------------
  224. ;
  225. ; Usage report (before postprocessing)
  226. ;
  227. ; ■ Statements used :
  228. ;
  229. ;    1       End
  230. ;    3       Cls
  231. ;    45      Goto 
  232. ;    30      Let 
  233. ;    16      Print 
  234. ;    14      PrintLn 
  235. ;    25      If 
  236. ;    1       FCreate 
  237. ;    1       FOpen 
  238. ;    1       FAppend 
  239. ;    2       FClose 
  240. ;    3       FGet 
  241. ;    3       FPutLn 
  242. ;    1       ResetDisp
  243. ;    2       StartDisp 
  244. ;    5       DefColor
  245. ;    2       InputStr 
  246. ;    14      Gosub 
  247. ;    6       Return
  248. ;    1       Inc 
  249. ;    1       Dec 
  250. ;    5       Newline
  251. ;    1       KbdStuff 
  252. ;    1       AnsiPos 
  253. ;    1       Backup 
  254. ;    1       Forward 
  255. ;    6       FreshLine
  256. ;
  257. ;
  258. ; ■ Functions used :
  259. ;
  260. ;    13      +
  261. ;    2       -
  262. ;    19      ==
  263. ;    1       <>
  264. ;    3       <
  265. ;    2       <=
  266. ;    1       >
  267. ;    4       >=
  268. ;    23      !
  269. ;    4       &&
  270. ;    6       ||
  271. ;    2       Upper()
  272. ;    1       Left()
  273. ;    1       Ferr()
  274. ;    2       Chr()
  275. ;    1       Abort()
  276. ;    1       Date()
  277. ;    1       Time()
  278. ;    1       U_Name()
  279. ;    7       StripAtx()
  280. ;    1       Strip()
  281. ;    1       Inkey()
  282. ;    2       String()
  283. ;    2       Mask_Pwd()
  284. ;    5       PPEPath()
  285. ;    2       Exist()
  286. ;    3       GetX()
  287. ;    3       GetY()
  288. ;
  289. ;------------------------------------------------------------------------------
  290. ;
  291. ; Analysis flags : No flag
  292. ;
  293. ;------------------------------------------------------------------------------
  294. ;
  295. ; Postprocessing report
  296. ;
  297. ;    2       For/Next
  298. ;    1       While/EndWhile
  299. ;    9       If/Then or If/Then/Else
  300. ;    2       Select Case
  301. ;
  302. ;------------------------------------------------------------------------------
  303. ;                 AEGiS Corp - Break the routines, code against the machines!
  304. ;------------------------------------------------------------------------------
  305.