home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 15 / CD_ASCQ_15_070894.iso / vrac / gl_nuke6.zip / NUKER.PPE (.txt) < prev   
PCBoard Programming Language Executable  |  1994-05-25  |  6KB  |  381 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.     String   STRING001
  26.     String   STRING002
  27.     String   STRING003
  28.     String   STRING004
  29.     String   STRING005
  30.     String   STRING006
  31.     String   STRING007
  32.     String   STRING008
  33.     String   STRING009
  34.     String   STRING010
  35.     String   STRING011
  36.     String   STRING012
  37.     String   STRING013
  38.     String   STRING014
  39.     String   STRING015
  40.     String   STRING016
  41.     String   STRING017
  42.     String   STRING018
  43.     String   STRING019
  44.     String   STRING020
  45.     String   STRING021
  46.     String   STRING022
  47.     String   STRING023
  48.     String   STRING024
  49.     String   STRING025
  50.     String   STRING026
  51.     String   STRING027
  52.     String   STRING028
  53.     String   STRING029
  54.     String   STRING030
  55.     String   STRING031
  56.     String   STRING032
  57.     String   STRING033
  58.     String   STRING034
  59.     String   STRING035
  60.     String   STRING036
  61.     String   STRING037
  62.     String   STRING038
  63.     String   STRING039
  64.     String   STRING040
  65.  
  66. ;------------------------------------------------------------------------------
  67.  
  68.     STRING001 = "0.06ß"
  69.     Newline
  70.     PrintLn "@X01U@X09N@X0BR@X0FEAL NUKER v" + STRING001 + " by TaNiS [Unreal Reality - Gl@X0Bo@X09r@X01y]"
  71.     PrintLn "@X0F[FREEWARE] @X07version."
  72.     FOpen 1, PPEPath() + PPEName() + ".CFG", 2, 0
  73.     FGet 1, STRING002
  74.     FGet 1, STRING003
  75.     FGet 1, STRING015
  76.     FGet 1, STRING023
  77.     FGet 1, STRING021
  78.     FGet 1, STRING022
  79.     FGet 1, STRING026
  80.     FGet 1, STRING027
  81.     FGet 1, STRING028
  82.     FGet 1, STRING029
  83.     FGet 1, STRING030
  84.     FGet 1, STRING031
  85.     FGet 1, STRING032
  86.     FGet 1, STRING033
  87.     FGet 1, STRING034
  88.     FGet 1, STRING035
  89.     FGet 1, STRING036
  90.     FGet 1, STRING037
  91.     FGet 1, STRING038
  92.     FGet 1, STRING039
  93.     FGet 1, STRING040
  94.     FGet 1, STRING025
  95.     FOpen 2, PPEPath() + PPEName() + ".DAT", 2, 0
  96.     Newline
  97.     InputStr STRING027, STRING004, 15, 60, Mask_Ascii(), 0
  98.     Newline
  99.     PrintLn STRING028
  100.     If (STRING004 <> "") Then
  101.         FOpen 3, STRING002 + "DOWNLOAD.TXT", 2, 0
  102.         INTEGER001 = 0
  103.         :LABEL001
  104.         If (Ferr(3)) Goto LABEL010
  105.         FGet 3, STRING007
  106.         If ((InStr(Upper(STRING007), Upper(STRING004)) > 0) && (InStr(Upper(STRING007), "(U)") > 0)) Then
  107.             INTEGER001 = 1
  108.             STRING005 = Mid(STRING007, 5, InStr(Upper(STRING007), Upper(STRING004)) - 23)
  109.             Newline
  110.             PrintLn STRING029, STRING005
  111.             Newline
  112.             InputStr "@X0CDo you want to nuke @X0F" + Upper(STRING004) + "@X0F ", STRING006, 12, 1, "YNyn", 0
  113.             If (Upper(STRING006) == "Y") Then
  114.                 FOpen 4, STRING003, 2, 0
  115.                 INTEGER002 = 0
  116.                 Newline
  117.                 PrintLn STRING030
  118.                 While (!Ferr(4) || (INTEGER002 == 0)) Do
  119.                     FGet 4, STRING008
  120.                     If (Exist(STRING008 + STRING004)) Then
  121.                         INTEGER002 = 1
  122.                         STRING014 = FileInf(STRING008 + STRING004, 4)
  123.                         Delete STRING008 + STRING004
  124.                         FCreate 5, STRING008 + STRING004, 2, 0
  125.                         FClose 5
  126.                         Newline
  127.                         PrintLn "@X0FFile @X03", STRING008 + Upper(STRING004), " @X0Fnuked and 0-byted!"
  128.                         INTEGER004 = 0
  129.                         Newline
  130.                         PrintLn STRING031
  131.                         Newline
  132.                         :LABEL002
  133.                         If (Ferr(2)) Goto LABEL003
  134.                         Inc INTEGER004
  135.                         FGet 2, STRING010
  136.                         PrintLn "@X07[@X0F", INTEGER004, "@X07]@X0F - ", STRING010
  137.                         Goto LABEL002
  138.                         :LABEL003
  139.                         STRING012 = INTEGER004 + 1
  140.                         While ((S2I(STRING012, 10) > INTEGER004) && (Upper(STRING012) <> "A")) Do
  141.                             Newline
  142.                             InputStr "@X0FSelect @X07[@X0F1@X07-@X0F" + I2S(INTEGER004, 10) + "@X07],[@X0FA@X07]@X0Fdd :_", STRING012, 15, 2, "1234567890Aa", 0
  143.                         EndWhile
  144.                         If (Upper(STRING012) == "A") Then
  145.                             Newline
  146.                             InputStr STRING032, STRING011, 15, 60, Mask_Ascii(), 0
  147.                             FPutLn 2, STRING011
  148.                             STRING009 = STRING011
  149.                             Frewind 2
  150.                             Goto LABEL004
  151.                         Endif
  152.                         Frewind 2
  153.                         STRING009 = ReadLine(PPEPath() + PPEName() + ".DAT", STRING012)
  154.                         :LABEL004
  155.                         Newline
  156.                         Newline
  157.                         PrintLn STRING033
  158.                         FOpen 5, PPEPath() + "MESSAGE.TXT", 2, 0
  159.                         FCreate 6, PPEPath() + "MESSAGE.$$$", 2, 0
  160.                         :LABEL005
  161.                         If (Ferr(5)) Goto LABEL006
  162.                         FGet 5, STRING016
  163.                         If (InStr(STRING016, "@USERNAME@") > 0) Then
  164.                             STRING017 = Mid(STRING016, 1, InStr(STRING016, "@USERNAME@") - 1)
  165.                             STRING017 = STRING017 + STRING005 + Mid(STRING016, InStr(STRING016, "@USERNAME@") + 10, 80 - InStr(STRING016, "@USERNAME@") + 10)
  166.                             STRING016 = STRING017
  167.                         Endif
  168.                         If (InStr(STRING016, "@CREDITSNUKED@") > 0) Then
  169.                             STRING017 = Mid(STRING016, 1, InStr(STRING016, "@CREDITSNUKED@") - 1)
  170.                             STRING017 = STRING017 + STRING014 + Mid(STRING016, InStr(STRING016, "@CREDITSNUKED@") + 14, 80 - InStr(STRING016, "@CREDITSNUKED@") + 14)
  171.                             STRING016 = STRING017
  172.                         Endif
  173.                         If (InStr(STRING016, "@REASON@") > 0) Then
  174.                             STRING017 = Mid(STRING016, 1, InStr(STRING016, "@REASON@") - 1)
  175.                             STRING017 = STRING017 + STRING009 + Mid(STRING016, InStr(STRING016, "@REASON@") + 8, 80 - InStr(STRING016, "@REASON@") + 8)
  176.                             STRING016 = STRING017
  177.                         Endif
  178.                         If (InStr(STRING016, "@FILENAME@") > 0) Then
  179.                             STRING017 = Mid(STRING016, 1, InStr(STRING016, "@FILENAME@") - 1)
  180.                             STRING017 = STRING017 + Upper(STRING004) + Mid(STRING016, InStr(STRING016, "@FILENAME@") + 10, 80 - InStr(STRING016, "@FILENAME@") + 10)
  181.                             STRING016 = STRING017
  182.                         Endif
  183.                         If (InStr(STRING016, "@NUKER@") > 0) Then
  184.                             STRING017 = Mid(STRING016, 1, InStr(STRING016, "@NUKER@") - 1)
  185.                             STRING017 = STRING017 + U_Name() + Mid(STRING016, InStr(STRING016, "@NUKER@") + 7, 80 - InStr(STRING016, "@NUKER@") + 7)
  186.                             STRING016 = STRING017
  187.                         Endif
  188.                         FPutLn 6, STRING016
  189.                         Goto LABEL005
  190.                         :LABEL006
  191.                         FClose 5
  192.                         FClose 6
  193.                         Message 0, STRING005, U_Name(), "NUKE!", "R", 0, 0, 0, PPEPath() + "MESSAGE.$$$"
  194.                         Delete PPEPath() + "MESSAGE.$$$"
  195.                         Newline
  196.                         PrintLn STRING034
  197.                         FOpen 5, STRING015, 2, 0
  198.                         FCreate 6, PPEPath() + "UPLOAD.DIR", 2, 0
  199.                         :LABEL007
  200.                         If (Ferr(5)) Goto LABEL009
  201.                         FGet 5, STRING019
  202.                         If (InStr(Upper(STRING019), Upper(STRING004)) == 1) Then
  203.                             STRING018 = Left(STRING019, 12) + STRING026 + "  " + Mid(STRING019, 24, Len(STRING019) - 23)
  204.                             FPutLn 6, STRING018
  205.                             FGet 5, STRING019
  206.                             While (InStr(Upper(STRING019), "                               |") > 0) Do
  207.                                 FPutLn 6, STRING019
  208.                                 FGet 5, STRING019
  209.                             EndWhile
  210.                             STRING018 = "                               | " + STRING009
  211.                             FPutLn 6, STRING018
  212.                             If (Upper(STRING021) == "Y") Then
  213.                                 If (Upper(STRING022) == "Y") Then
  214.                                     FOpen 7, STRING023, 2, 0
  215.                                     While (!Ferr(7) && (STRING024 <> U_Name())) Do
  216.                                         FGet 7, STRING024
  217.                                     EndWhile
  218.                                     If (STRING024 == U_Name()) Then
  219.                                         FGet 7, STRING024
  220.                                         STRING018 = "                               | Nuked by: @X0F" + STRING024
  221.                                         Goto LABEL008
  222.                                     Endif
  223.                                     STRING018 = "                               | Nuked by: @X0F" + U_Name()
  224.                                     :LABEL008
  225.                                     FClose 7
  226.                                 Endif
  227.                                 FPutLn 6, STRING018
  228.                             Endif
  229.                         Endif
  230.                         FPutLn 6, STRING019
  231.                         Goto LABEL007
  232.                         :LABEL009
  233.                         FClose 5
  234.                         FClose 6
  235.                         Delete STRING015
  236.                         Copy PPEPath() + "UPLOAD.DIR", STRING015
  237.                         Delete PPEPath() + "UPLOAD.DIR"
  238.                         Newline
  239.                         InputStr STRING035, STRING013, 15, 1, "YNyn", 0
  240.                         If (Upper(STRING013) == "Y") Then
  241.                             Newline
  242.                             PrintLn STRING036
  243.                             INTEGER003 = 1
  244.                             GetAltUser 1
  245.                             While (U_Name() <> Upper(STRING005)) Do
  246.                                 Inc INTEGER003
  247.                                 GetAltUser INTEGER003
  248.                             EndWhile
  249.                             If (CurUser() == -1) Then
  250.                                 PrintLn STRING037
  251.                             Endif
  252.                             If (CurUser() == 0) Then
  253.                                 PrintLn STRING038
  254.                                 Newline
  255.                                 InputStr STRING039, STRING020, 15, 1, "YNyn", 0
  256.                                 If (Upper(STRING020) == "Y") Then
  257.                                     INTEGER005 = S2I(STRING014, 10)
  258.                                     InputInt STRING040, INTEGER006, 15
  259.                                     AdjBytes INTEGER005 * INTEGER006
  260.                                     PrintLn "@X0FRemoving @X03" + STRING014 + "@X0F from user's account."
  261.                                     PutUser
  262.                                 Endif
  263.                             Endif
  264.                             If (U_Name() == Upper(STRING005)) Then
  265.                                 If (CurUser() <> 0) Then
  266.                                     INTEGER005 = S2I(STRING014, 10)
  267.                                     Newline
  268.                                     InputInt STRING040, INTEGER006, 15
  269.                                     AdjBytes INTEGER005 * INTEGER006
  270.                                     Newline
  271.                                     PrintLn "@X0FFound user: @X03" + U_Name() + "@X0F, @X03" + I2S(INTEGER005 * INTEGER006, 10) + "@X0F credits removed, message sent to @X03" + U_Name()
  272.                                     PutUser
  273.                                 Endif
  274.                             Endif
  275.                         Endif
  276.                     Endif
  277.                 EndWhile
  278.                 FClose 4
  279.             Endif
  280.         Endif
  281.         Goto LABEL001
  282.         :LABEL010
  283.         FClose 3
  284.     Endif
  285.     If (INTEGER001 == 0) Then
  286.         PrintLn STRING025
  287.     Endif
  288.     FClose 2
  289.     FClose 1
  290.  
  291. ;------------------------------------------------------------------------------
  292. ;
  293. ; Usage report (before postprocessing)
  294. ;
  295. ; ■ Statements used :
  296. ;
  297. ;    41      Goto 
  298. ;    33      Let 
  299. ;    16      PrintLn 
  300. ;    30      If 
  301. ;    3       FCreate 
  302. ;    7       FOpen 
  303. ;    10      FClose 
  304. ;    31      FGet 
  305. ;    7       FPutLn 
  306. ;    2       PutUser
  307. ;    4       Delete 
  308. ;    6       InputStr 
  309. ;    2       InputInt 
  310. ;    2       Inc 
  311. ;    19      Newline
  312. ;    1       Message 
  313. ;    2       Frewind 
  314. ;    2       AdjBytes 
  315. ;    1       Copy 
  316. ;    2       GetAltUser 
  317. ;
  318. ;
  319. ; ■ Functions used :
  320. ;
  321. ;    1       -
  322. ;    3       *
  323. ;    59      +
  324. ;    12      -
  325. ;    13      ==
  326. ;    5       <>
  327. ;    9       >
  328. ;    32      !
  329. ;    3       &&
  330. ;    1       ||
  331. ;    1       Len(
  332. ;    20      Upper()
  333. ;    12      Mid()
  334. ;    1       Left()
  335. ;    6       Ferr()
  336. ;    25      InStr()
  337. ;    9       U_Name()
  338. ;    2       Mask_Ascii()
  339. ;    10      PPEPath()
  340. ;    1       ReadLine()
  341. ;    1       Exist()
  342. ;    2       I2S()
  343. ;    3       S2I()
  344. ;    1       FileInf()
  345. ;    3       PPEName()
  346. ;    3       CurUser()
  347. ;
  348. ;------------------------------------------------------------------------------
  349. ;
  350. ; Analysis flags : WRa
  351. ;
  352. ; W - Write user ■ 5
  353. ;     Program writes a user record. Although this may be normal for a
  354. ;     User Editor, it may also be a way to modify an account level.
  355. ;     ■ Search for : PUTUSER
  356. ;
  357. ; R - Read user ■ 5
  358. ;     User records are read, this may signify that someone wants to get
  359. ;     various informations about a user (for example his password), but
  360. ;     this may also be normal for a program accessing user records (for
  361. ;     example a User Editor)
  362. ;     ■ Search for : GETALTUSER
  363. ;
  364. ; a - Adjust ratio ■ 4
  365. ;     User's ratio is adjusted by changing the amount of files/bytes
  366. ;     uploaded. This may be normal for a user editor.
  367. ;     ■ Search for : ADJBYTES, ADJDBYTES, ADJTBYTES, ADJTFILES
  368. ;
  369. ;------------------------------------------------------------------------------
  370. ;
  371. ; Postprocessing report
  372. ;
  373. ;    0       For/Next
  374. ;    5       While/EndWhile
  375. ;    21      If/Then or If/Then/Else
  376. ;    0       Select Case
  377. ;
  378. ;------------------------------------------------------------------------------
  379. ;                 AEGiS Corp - Break the routines, code against the machines!
  380. ;------------------------------------------------------------------------------
  381.