home *** CD-ROM | disk | FTP | other *** search
/ Groovy Bytes: Behind the Moon / groovybytes.iso / GROOVY / PPE / ALF / ALF_PGE2.ZIP / ALF-PAGE.PPE (.txt) < prev    next >
Encoding:
PCBoard Programming Language Executable  |  1994-08-10  |  5.5 KB  |  321 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.     String   STRING001
  20.     String   STRING002
  21.     String   STRING003
  22.     String   STRING004
  23.     String   STRING005
  24.     String   STRING006
  25.     String   STRING007
  26.     String   STRING008
  27.     String   STRING009
  28.     String   STRING010
  29.     String   STRING011
  30.     String   STRING012
  31.     String   STRING013
  32.     String   STRING014
  33.     String   STRING015
  34.     String   STRING016
  35.  
  36. ;------------------------------------------------------------------------------
  37.  
  38.     STRING016 = 16
  39.     STRING009 = Chr(13)
  40.     STRING015 = 5
  41.     STRING012 = PPEPath() + "ALF-PAGE.CFG"
  42.     STRING001 = Chr(7)
  43.     Cls
  44.     AnsiPos 20, 6
  45.     PrintLn "@POFF@@X08ALF Page 2.0 By Mass Murderer"
  46.     Delay 2
  47.     AnsiPos 20, 6
  48.     PrintLn "@X07ALF Page 2.0 By Mass Murderer"
  49.     Delay 2
  50.     AnsiPos 20, 6
  51.     PrintLn "@X0FALF Page 2.0 By Mass Murderer"
  52.     Delay 2
  53.     AnsiPos 20, 6
  54.     PrintLn "@X07ALF Page 2.0 By Mass Murderer"
  55.     Delay 2
  56.     AnsiPos 20, 6
  57.     PrintLn "@X08ALF Page 2.0 By Mass Murderer"
  58.     Delay 3
  59.     STRING003 = Time()
  60.     STRING007 = ReadLine(PCBDat(), 189)
  61.     STRING008 = ReadLine(PCBDat(), 190)
  62.     STRING013 = GetY()
  63.     STRING013 = STRING013 - 1
  64.     If (PageStat()) Then
  65.         Cls
  66.         PrintLn " "
  67.         PrintLn "         @X70┌────────────────────────────────────────────────@X7F┐@X07"
  68.         PrintLn "         @X70│@X7F      You Have Already Paged the Sysop!         │@X07"
  69.         PrintLn "         @X70└@X7F────────────────────────────────────────────────┘@X07"
  70.         PrintLn " "
  71.         Goto LABEL005
  72.         End
  73.     Endif
  74.     If ((STRING007 <= STRING003) && (STRING003 <= STRING008)) Then
  75.         :LABEL001
  76.         Cls
  77.         PrintLn " "
  78.         PrintLn "         @X70┌────────────────────────────────────────────────@X7F┐@X07"
  79.         PrintLn "         @X70│@X7F      Why Would you Like to Page the Sysop?     │@X07"
  80.         PrintLn "         @X70└@X7F────────────────────────────────────────────────┘@X07"
  81.         PrintLn " "
  82.         InputStr "@X08·──@X07──@X0F══[ _", STRING002, 127, 32, Mask_Ascii(), 256 + 8
  83.         If (STRING002 == "") Then
  84.             End
  85.         Endif
  86.         :LABEL002
  87.         STRING016 = 16
  88.         STRING015 = 5
  89.         If (Len(STRING002) < 5) Goto LABEL016
  90.         Log U_Name() + " Paged at " + Left(Time(), 5) + " Cuz: " + STRING002, STRING002
  91.         Cls
  92.         PrintLn " "
  93.         PrintLn "         @X70┌────────────────────────────────────────────────@X7F┐@X07"
  94.         PrintLn "         @X70│@X7F Page Reason:                                   │@X07"
  95.         PrintLn "         @X70└@X7F────────────────────────────────────────────────┘@X07"
  96.         PrintLn "         @X70┌────────────────────────────────────────────────@X7F┐@X07"
  97.         PrintLn "         @X70│@X7F           Now Paging The Sysop                 │@X07"
  98.         PrintLn "         @X70│@X7F     @X2A░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░@X7F           │@X07"
  99.         PrintLn "         @X70└@X7F────────────────────────────────────────────────┘@X07"
  100.         SPrintLn " Press (SPACE) to Acknowledge Page or Press (ENTER) to Silence Pager"
  101.         AnsiPos 27, 3
  102.         Print "@X7F", STRING002
  103.         PageOn
  104.         :LABEL003
  105.         If (STRING016 == 48) Goto LABEL004
  106.         AnsiPos STRING016, 7
  107.         Print "@X2A▓@X08"
  108.         MPrint STRING001
  109.         Sound STRING015
  110.         Delay 5
  111.         STRING005 = Upper(KInkey())
  112.         If (STRING005 == Chr(13)) STRING015 = 0
  113.         If (STRING005 == Chr(32)) Then
  114.             Sound 0
  115.             Chat
  116.             End
  117.         Endif
  118.         STRING016 = STRING016 + 1
  119.         If (STRING015 == 0) Goto LABEL003
  120.         STRING015 = STRING015 + 40
  121.         Goto LABEL003
  122.         Cls
  123.         Chat
  124.         End
  125.     Endif
  126.     :LABEL004
  127.     FOpen 1, PPEPath() + "ALF-PAGE.CFG", 0, 0
  128.     FGet 1, STRING006
  129.     FGet 1, STRING010
  130.     FGet 1, STRING011
  131.     FClose 1
  132.     Cls
  133.     PrintLn " "
  134.     PrintLn "@X70┌───────────────────────────────────────────────────────────────────────@X7F┐@X07"
  135.     PrintLn "@X70│@X7F I'm Sorry But The Sysop                                               │@X07"
  136.     PrintLn "@X70└@X7F───────────────────────────────────────────────────────────────────────┘@X07"
  137.     AnsiPos 27, 3
  138.     Print "@X7F", STRING006
  139.     Sound 0
  140.     Newline
  141.     Newline
  142.     Newline
  143.     STRING013 = GetY()
  144.     STRING013 = STRING013 - 1
  145.     Select Case (Upper(ReadLine(STRING012, 2)))
  146.         Case "Y"
  147.             STRING011 = Upper(ReadLine(STRING012, 3))
  148.             Newline
  149.             :LABEL005
  150.         Case "Y"
  151.             If (STRING014 == "5") End
  152.             AnsiPos 10, 5
  153.             Print "@X0FIs this an Emergency? @X0FYes @X1FNo@X07"
  154.             STRING011 = Upper(ReadLine(STRING012, 3))
  155.             :LABEL006
  156.             STRING002 = Inkey()
  157.             If (STRING002 == "LEFT") Goto LABEL007
  158.             If (STRING002 == "4") Goto LABEL007
  159.             If (STRING002 == "") Goto LABEL006
  160.             If (STRING002 == "Y") Goto LABEL007
  161.             If (STRING002 == "y") Goto LABEL007
  162.             If (STRING002 == STRING009) Goto LABEL012
  163.             Goto LABEL006
  164.             :LABEL007
  165.             AnsiPos 10, 5
  166.             Print "@X0FIs this an Emergency? @X1FYes@X0F No@X07"
  167.             STRING011 = Upper(ReadLine(STRING012, 3))
  168.             :LABEL008
  169.             STRING002 = Inkey()
  170.             If (STRING002 == "RIGHT") Goto LABEL005
  171.             If (STRING002 == "6") Goto LABEL005
  172.             If (STRING002 == "") Goto LABEL008
  173.             If (STRING002 == "N") Goto LABEL005
  174.             If (STRING002 == "n") Goto LABEL005
  175.             If (STRING002 == STRING009) Goto LABEL009
  176.             Goto LABEL008
  177.             :LABEL009
  178.             Cls
  179.             PrintLn " "
  180.             PrintLn "       @X70┌────────────────────────────────────────────────@X7F┐@X07"
  181.             PrintLn "       @X70│@X7F      Please Enter the Emergency Password.      │@X07"
  182.             PrintLn "       @X70└@X7F────────────────────────────────────────────────┘@X07"
  183.             PrintLn " "
  184.             STRING011 = Upper(ReadLine(STRING012, 3))
  185.             InputStr "@X08·──@X07──@X0F══[ _", STRING004, 9, 15, Mask_Ascii(), 8 + 1
  186.             If (STRING004 == "") Then
  187.                 End
  188.             Endif
  189.             If (STRING004 == STRING011) Then
  190.                 STRING002 = "@X74EMERGENCY!"
  191.                 STRING014 = "5"
  192.                 Goto LABEL002
  193.                 Goto LABEL002
  194.                 PrintLn "@X0FI@X07n@X08correct @X0FP@X07a@X08ssword"
  195.                 :LABEL010
  196.                 AnsiPos 10, 6
  197.                 Print "@X0FWould you like to Leave Feedback? @X1FYes@X09 No@X07"
  198.                 :LABEL011
  199.                 STRING002 = Inkey()
  200.                 If (STRING002 == "RIGHT") Goto LABEL012
  201.                 If (STRING002 == "6") Goto LABEL012
  202.                 If (STRING002 == "") Goto LABEL011
  203.                 If (STRING002 == "N") Goto LABEL012
  204.                 If (STRING002 == "n") Goto LABEL012
  205.                 If (STRING002 == STRING009) Goto LABEL014
  206.                 Goto LABEL011
  207.         End Select
  208.         :LABEL012
  209.         AnsiPos 10, 6
  210.         Print "@X0FWould you like to Leave Feedback? @X09Yes @X1FNo@X07"
  211.         :LABEL013
  212.         STRING002 = Inkey()
  213.         If (STRING002 == "LEFT") Goto LABEL010
  214.         If (STRING002 == "4") Goto LABEL010
  215.         If (STRING002 == "") Goto LABEL013
  216.         If (STRING002 == "Y") Goto LABEL010
  217.         If (STRING002 == "y") Goto LABEL010
  218.         If (STRING002 == STRING009) Goto LABEL015
  219.         Goto LABEL013
  220.         :LABEL014
  221.         Cls
  222.         KbdStuff "C" + Chr(13)
  223.         End
  224.         :LABEL015
  225.         PrintLn " "
  226.         End
  227.         :LABEL016
  228.         Newline
  229.         Print "@X0FPage Reason Not Long Enough!"
  230.         Wait
  231.         Goto LABEL001
  232.         End
  233.     Endif
  234.     Newline
  235.     PrintLn "@X0FI@X07n@X08correct @X0FP@X07a@X08ssword"
  236.     PrintLn " "
  237.     End
  238.  
  239. ;------------------------------------------------------------------------------
  240. ;
  241. ; Usage report (before postprocessing)
  242. ;
  243. ; ■ Statements used :
  244. ;
  245. ;    10      End
  246. ;    8       Cls
  247. ;    1       Wait
  248. ;    44      Goto 
  249. ;    28      Let 
  250. ;    8       Print 
  251. ;    36      PrintLn 
  252. ;    37      If 
  253. ;    1       FOpen 
  254. ;    1       FClose 
  255. ;    3       FGet 
  256. ;    1       Log 
  257. ;    2       InputStr 
  258. ;    6       Delay 
  259. ;    6       Newline
  260. ;    1       KbdStuff 
  261. ;    12      AnsiPos 
  262. ;    3       Sound 
  263. ;    2       Chat
  264. ;    1       SPrintLn 
  265. ;    1       MPrint 
  266. ;    1       PageOn
  267. ;
  268. ;
  269. ; ■ Functions used :
  270. ;
  271. ;    11      +
  272. ;    2       -
  273. ;    34      ==
  274. ;    1       <
  275. ;    2       <=
  276. ;    8       !
  277. ;    1       &&
  278. ;    1       Len(
  279. ;    7       Upper()
  280. ;    1       Left()
  281. ;    5       Chr()
  282. ;    2       Time()
  283. ;    1       U_Name()
  284. ;    4       Inkey()
  285. ;    2       Mask_Ascii()
  286. ;    2       PCBDat()
  287. ;    2       PPEPath()
  288. ;    8       ReadLine()
  289. ;    2       GetY()
  290. ;    1       KInkey()
  291. ;    1       PageStat()
  292. ;
  293. ;------------------------------------------------------------------------------
  294. ;
  295. ; Analysis flags : Md
  296. ;
  297. ; M - Send text to modem only ■ 4
  298. ;     Some informations are sent only to the modem, not to the local
  299. ;     screen, this is a well known way to make stealth backdoors, Check!
  300. ;     ■ Search for : SENDMODEM, MPRINT, MPRINTLN
  301. ;
  302. ; d - Access PCBOARD.DAT ■ 2
  303. ;     Program gets the full pathname to PCBOARD.DAT, this may be usefull
  304. ;     for many PPE so they can find various informations on the system
  305. ;     (system paths, max number of lines in messages, ...) but it may also
  306. ;     be a way to gather vital informations.
  307. ;     ■ Search for : PCBDAT()
  308. ;
  309. ;------------------------------------------------------------------------------
  310. ;
  311. ; Postprocessing report
  312. ;
  313. ;    0       For/Next
  314. ;    0       While/EndWhile
  315. ;    6       If/Then or If/Then/Else
  316. ;    1       Select Case
  317. ;
  318. ;------------------------------------------------------------------------------
  319. ;                 AEGiS Corp - Break the routines, code against the machines!
  320. ;------------------------------------------------------------------------------
  321.