home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Carsten's PPE Collection
/
Carstens_PPE_Collection_2007.zip
/
F
/
FOOD_PBL.ZIP
/
BBSLIST.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1997-04-27
|
10KB
|
543 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 3.3O (Encryption type II) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
String TSTRING001(2)
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
String TSTRING007(108)
String TSTRING008(108)
String TSTRING009(108)
String TSTRING010(108)
String TSTRING011(108)
String TSTRING012(108)
String TSTRING013(20)
Int INT001
Int INT002
Int INT003
Int INT004
Int INT005
Int INT006
Declare Procedure PROC001(String STRING014)
Declare Procedure PROC002()
Declare Procedure PROC003()
;------------------------------------------------------------------------------
FOpen 1, PPEPath() + PPEName() + ".cfg", 2, 0
For INT006 = 1 To 40
FGet 1, TSTRING013(INT006)
Next
If (Exist(PPEPath() + PPEName() + ".dbf")) Then
Goto LABEL002
Else
Goto LABEL001
Endif
:LABEL001
TSTRING001(0) = "BOARDN,C,25,0"
TSTRING001(1) = "PHONEN,N,19,0"
TSTRING001(2) = "SYSOP,C,22,0"
DCreate 1, PPEPath() + PPEName(), 0, TSTRING001(BOOLEAN000)
DClose 1
:LABEL002
Cls
DispFile PPEPath() + PPEName() + ".pcb", 0
:LABEL003
Gosub LABEL038
DOpen 1, PPEPath() + PPEName(), 0
INT002 = DRecCount(1)
:LABEL004
INT005 = 0
Gosub LABEL038
Goto LABEL014
:LABEL005
INT005 = 9
Gosub LABEL038
Goto LABEL014
:LABEL006
INT005 = 18
Gosub LABEL038
Goto LABEL014
:LABEL007
INT005 = 27
Gosub LABEL038
Goto LABEL014
:LABEL008
INT005 = 36
Gosub LABEL038
Goto LABEL014
:LABEL009
INT005 = 45
Gosub LABEL038
Goto LABEL014
:LABEL010
INT005 = 54
Gosub LABEL038
Goto LABEL014
:LABEL011
INT005 = 63
Gosub LABEL038
Goto LABEL014
:LABEL012
INT005 = 70
Gosub LABEL038
Goto LABEL014
:LABEL013
INT005 = 79
Gosub LABEL038
:LABEL014
For INT001 = 1 To INT002
DGo 1, INT001
DGet 1, "BOARDN", TSTRING007(INT001)
DGet 1, "PHONEN", TSTRING009(INT001)
DGet 1, "SYSOP", TSTRING011(INT001)
INTEGER001 = 11
AnsiPos 3, INTEGER001
Print "@POS:3@" + TSTRING007(1 + INT005) + "@POS:28@" + "@X02|@X07" + "@POS:29@" + TSTRING009(1 + INT005) + "@POS:56@" + "@X02|@X07" + "@POS:57@" + TSTRING011(1 + INT005)
Inc INTEGER001
AnsiPos 3, INTEGER001
Print "@POS:3@" + TSTRING007(2 + INT005) + "@POS:28@" + "@X02|@X07" + "@POS:29@" + TSTRING009(2 + INT005) + "@POS:56@" + "@X02|@X07" + "@POS:57@" + TSTRING011(2 + INT005)
Inc INTEGER001
AnsiPos 3, INTEGER001
Print "@POS:3@" + TSTRING007(3 + INT005) + "@POS:28@" + "@X02|@X07" + "@POS:29@" + TSTRING009(3 + INT005) + "@POS:56@" + "@X02|@X07" + "@POS:57@" + TSTRING011(3 + INT005)
Inc INTEGER001
AnsiPos 3, INTEGER001
Print "@POS:3@" + TSTRING007(4 + INT005) + "@POS:28@" + "@X02|@X07" + "@POS:29@" + TSTRING009(4 + INT005) + "@POS:56@" + "@X02|@X07" + "@POS:57@" + TSTRING011(4 + INT005)
Inc INTEGER001
AnsiPos 3, INTEGER001
Print "@POS:3@" + TSTRING007(5 + INT005) + "@POS:28@" + "@X02|@X07" + "@POS:29@" + TSTRING009(5 + INT005) + "@POS:56@" + "@X02|@X07" + "@POS:57@" + TSTRING011(5 + INT005)
Inc INTEGER001
AnsiPos 3, INTEGER001
Print "@POS:3@" + TSTRING007(6 + INT005) + "@POS:28@" + "@X02|@X07" + "@POS:29@" + TSTRING009(6 + INT005) + "@POS:56@" + "@X02|@X07" + "@POS:57@" + TSTRING011(6 + INT005)
Inc INTEGER001
AnsiPos 3, INTEGER001
Print "@POS:3@" + TSTRING007(7 + INT005) + "@POS:28@" + "@X02|@X07" + "@POS:29@" + TSTRING009(7 + INT005) + "@POS:56@" + "@X02|@X07" + "@POS:57@" + TSTRING011(7 + INT005)
Inc INTEGER001
AnsiPos 3, INTEGER001
Print "@POS:3@" + TSTRING007(8 + INT005) + "@POS:28@" + "@X02|@X07" + "@POS:29@" + TSTRING009(8 + INT005) + "@POS:56@" + "@X02|@X07" + "@POS:57@" + TSTRING011(8 + INT005)
Inc INTEGER001
AnsiPos 3, INTEGER001
Print "@POS:3@" + TSTRING007(9 + INT005) + "@POS:28@" + "@X02|@X07" + "@POS:29@" + TSTRING009(9 + INT005) + "@POS:56@" + "@X02|@X07" + "@POS:57@" + TSTRING011(9 + INT005)
Inc INTEGER001
Continue
Next
:LABEL015
AnsiPos 3, 21
Print " "
AnsiPos 2, 22
Print TSTRING013(7) + " ADD ENTRY " + TSTRING013(8) + " DELETE ENTRY@X07 " + TSTRING013(8) + " DOWNLOAD LIST " + TSTRING013(8) + " NEXT PAGE " + TSTRING013(8) + " PREVIOUS PAGE " + TSTRING013(8) + " QUIT!@X07"
:LABEL016
STRING002 = Inkey()
If (STRING002 == "LEFT") Goto LABEL025
If (STRING002 == "RIGHT") Goto LABEL017
If (STRING002 == Chr(13)) Goto LABEL027
Goto LABEL016
:LABEL017
AnsiPos 3, 21
Print " "
AnsiPos 2, 22
Print TSTRING013(8) + " ADD ENTRY " + TSTRING013(7) + " DELETE ENTRY@X07 " + TSTRING013(8) + " DOWNLOAD LIST " + TSTRING013(8) + " NEXT PAGE " + TSTRING013(8) + " PREVIOUS PAGE " + TSTRING013(8) + " QUIT!@X07"
:LABEL018
STRING002 = Inkey()
If (STRING002 == "LEFT") Goto LABEL015
If (STRING002 == "RIGHT") Goto LABEL019
If (STRING002 == Chr(13)) Goto LABEL031
Goto LABEL018
:LABEL019
AnsiPos 2, 22
Print TSTRING013(8) + " ADD ENTRY " + TSTRING013(8) + " DELETE ENTRY@X07 " + TSTRING013(7) + " DOWNLOAD LIST " + TSTRING013(8) + " NEXT PAGE " + TSTRING013(8) + " PREVIOUS PAGE " + TSTRING013(8) + " QUIT!@X07"
:LABEL020
STRING002 = Inkey()
If (STRING002 == "LEFT") Goto LABEL017
If (STRING002 == "RIGHT") Goto LABEL021
If (STRING002 == Chr(13)) Goto LABEL034
Goto LABEL020
:LABEL021
AnsiPos 2, 22
Print TSTRING013(8) + " ADD ENTRY " + TSTRING013(8) + " DELETE ENTRY@X07 " + TSTRING013(8) + " DOWNLOAD LIST " + TSTRING013(7) + " NEXT PAGE " + TSTRING013(8) + " PREVIOUS PAGE " + TSTRING013(8) + " QUIT!@X07"
:LABEL022
STRING002 = Inkey()
If (STRING002 == "LEFT") Goto LABEL019
If (STRING002 == "RIGHT") Goto LABEL023
If (STRING002 == Chr(13)) Goto LABEL035
Goto LABEL022
:LABEL023
AnsiPos 2, 22
Print TSTRING013(8) + " ADD ENTRY " + TSTRING013(8) + " DELETE ENTRY@X07 " + TSTRING013(8) + " DOWNLOAD LIST " + TSTRING013(8) + " NEXT PAGE " + TSTRING013(7) + " PREVIOUS PAGE " + TSTRING013(8) + " QUIT!@X07"
:LABEL024
STRING002 = Inkey()
If (STRING002 == "LEFT") Goto LABEL021
If (STRING002 == "RIGHT") Goto LABEL025
If (STRING002 == Chr(13)) Goto LABEL036
Goto LABEL024
:LABEL025
AnsiPos 2, 22
Print TSTRING013(8) + " ADD ENTRY " + TSTRING013(8) + " DELETE ENTRY@X07 " + TSTRING013(8) + " DOWNLOAD LIST " + TSTRING013(8) + " NEXT PAGE " + TSTRING013(8) + " PREVIOUS PAGE " + TSTRING013(7) + " QUIT!@X07"
:LABEL026
STRING002 = Inkey()
If (STRING002 == "LEFT") Goto LABEL023
If (STRING002 == "RIGHT") Goto LABEL015
If (STRING002 == Chr(13)) Goto LABEL037
Goto LABEL026
:LABEL027
If (TSTRING013(1) <= CurSec()) Then
Goto LABEL028
Else
AnsiPos 27, 21
PROC001("U'r 2 lAME tO aDD eNTRY")
Delay 15
Goto LABEL015
Endif
:LABEL028
STRING003 = ""
STRING004 = ""
STRING005 = ""
AnsiPos 3, 21
Print TSTRING013(3) + TSTRING013(4) + " : "
InputStr "_", STRING003, 0, 25, Mask_Alpha() + " ", 8
If ((STRING003 == "") || (STRING003 == " ")) Goto LABEL015
If (Exist(PPEPath() + "bbsl.ndx")) Delete PPEPath() + "bbsl.ndx"
DOpen 7, PPEPath() + PPEName(), 0
DnCreate 7, PPEPath() + "bbsl", "BOARDN"
DnOpen 7, PPEPath() + "bbsl"
DTag 7, "bbsl"
DSeek 7, STRING003
If (DSeek(7, STRING003)) Then
Goto LABEL029
Else
Goto LABEL030
:LABEL029
AnsiPos 3, 21
Print " "
AnsiPos 3, 21
PROC001("That board already exist")
DnCloseAll 7
DClose 7
Goto LABEL015
Endif
:LABEL030
DnCloseAll 7
DClose 7
AnsiPos 3, 21
Print " "
AnsiPos 3, 21
Print TSTRING013(3) + TSTRING013(5) + " : "
InputStr "_", STRING004, 0, 35, Mask_Num() + " " + "-" + "+" + "(" + ")", 8192
If ((STRING004 == "") || (STRING004 == " ")) Goto LABEL015
AnsiPos 3, 21
Print " "
AnsiPos 3, 21
Print TSTRING013(3) + TSTRING013(6) + " : "
InputStr "_", STRING005, 0, 21, Mask_Alpha() + " " + "/", 8192
If ((STRING005 == "") || (STRING005 == " ")) Goto LABEL015
AnsiPos 3, 21
Print " "
DOpen 0, PPEPath() + PPEName(), 0
DNew 0
DPut 0, "BOARDN", STRING003
DPut 0, "PHONEN", STRING004
DPut 0, "SYSOP", STRING005
DAdd 0
DClose 0
DClose 1
Goto LABEL002
:LABEL031
AnsiPos 3, 21
Print " "
If (TSTRING013(2) <= CurSec()) Then
Goto LABEL032
Else
AnsiPos 3, 21
PROC001("U'r 2 lAME tO dELETE eNTRY")
Delay 10
Goto LABEL017
Endif
:LABEL032
AnsiPos 3, 21
Print " "
AnsiPos 3, 21
Print TSTRING013(3) + "Enter Board Name (2 char.minimum) : "
InputStr "_", STRING006, 0, 24, Mask_Alpha() + " ", 8
If (STRING006 == "") Goto LABEL015
If (Exist(PPEPath() + "bbsl.ndx")) Delete PPEPath() + "bbsl.ndx"
DOpen 5, PPEPath() + PPEName(), 0
DnCreate 5, PPEPath() + "bbsl", "BOARDN"
DnOpen 5, PPEPath() + "bbsl"
DTag 5, "bbsl"
DSeek 5, STRING006
If (DSeek(5, STRING006)) Then
Goto LABEL033
Else
AnsiPos 3, 21
Print " "
AnsiPos 3, 21
PROC001("tHAT bOARD dOESN noT eXIST")
Goto LABEL015
Endif
:LABEL033
DDelete 5
DnCloseAll 5
DPack 5
Gosub LABEL038
DClose 5
DClose 1
Goto LABEL003
:LABEL034
If (Exist(PPEPath() + PPEName() + ".LST")) Delete PPEPath() + PPEName() + ".LST"
FCreate 2, PPEPath() + PPEName() + ".LST", 2, 0
DOpen 3, PPEPath() + PPEName(), 0
INT004 = DRecCount(3)
FPutLn 2, ".-------------------------+---------------------------+----------------------."
FPutLn 2, "| bOARD nAME | pHONE nUMBER | sYSOP |"
FPutLn 2, "`-------------------------+---------------------------+----------------------'"
For INT003 = 1 To INT004
DGo 3, INT003
DGet 3, "BOARDN", TSTRING008(INT003)
DGet 3, "PHONEN", TSTRING010(INT003)
DGet 3, "SYSOP", TSTRING012(INT003)
FPutLn 2, " " + TSTRING008(INT003) + TSTRING010(INT003) + " " + TSTRING012(INT003)
Next
FPutLn 2, ".----------------------------------------------------------------------------."
FPutLn 2, "| !#:.fUCK OFf Or Die.:#:.bBS.lISTER.:#:.cODED.bY.<pUBLIC.eNEMY>.:#! |"
FPutLn 2, "`----------------------------------------------------------------------------'"
FClose 2
DClose 3
Cls
Flag PPEPath() + PPEName() + ".LST"
Download ""
Wait
DClose 1
Goto LABEL002
:LABEL035
If (INT005 == 0) Goto LABEL005
If (INT005 == 9) Goto LABEL006
If (INT005 == 18) Goto LABEL007
If (INT005 == 27) Goto LABEL008
If (INT005 == 36) Goto LABEL009
If (INT005 == 45) Goto LABEL010
If (INT005 == 54) Goto LABEL011
If (INT005 == 63) Goto LABEL012
If (INT005 == 70) Goto LABEL013
If (INT005 == 79) Goto LABEL004
Goto LABEL015
:LABEL036
If (INT005 == 0) Goto LABEL013
If (INT005 == 9) Goto LABEL004
If (INT005 == 18) Goto LABEL005
If (INT005 == 27) Goto LABEL006
If (INT005 == 36) Goto LABEL007
If (INT005 == 45) Goto LABEL008
If (INT005 == 54) Goto LABEL009
If (INT005 == 63) Goto LABEL010
If (INT005 == 70) Goto LABEL011
If (INT005 == 79) Goto LABEL012
Goto LABEL023
:LABEL037
AnsiPos 34, 21
PROC001("fUCK oFF Or dIE")
Delay 5
AnsiPos 34, 21
Print " "
AnsiPos 25, 21
Print "@X08Coded By Public Enemy [@X0Ctly@X08.@X0Csvn@X08.@X0Cfood@X08]"
Delay 15
Cls
End
:LABEL038
AnsiPos 3, 11
Print "@POS:3@" + " " + "@POS:28@" + "@X02|@X07" + "@POS:29@" + " " + "@POS:56@" + "@X02|@X07" + "@POS:57@" + " "
AnsiPos 3, 12
Print "@POS:3@" + " " + "@POS:28@" + "@X02|@X07" + "@POS:29@" + " " + "@POS:56@" + "@X02|@X07" + "@POS:57@" + " "
AnsiPos 3, 13
Print "@POS:3@" + " " + "@POS:28@" + "@X02|@X07" + "@POS:29@" + " " + "@POS:56@" + "@X02|@X07" + "@POS:57@" + " "
AnsiPos 3, 14
Print "@POS:3@" + " " + "@POS:28@" + "@X02|@X07" + "@POS:29@" + " " + "@POS:56@" + "@X02|@X07" + "@POS:57@" + " "
AnsiPos 3, 15
Print "@POS:3@" + " " + "@POS:28@" + "@X02|@X07" + "@POS:29@" + " " + "@POS:56@" + "@X02|@X07" + "@POS:57@" + " "
AnsiPos 3, 16
Print "@POS:3@" + " " + "@POS:28@" + "@X02|@X07" + "@POS:29@" + " " + "@POS:56@" + "@X02|@X07" + "@POS:57@" + " "
AnsiPos 3, 17
Print "@POS:3@" + " " + "@POS:28@" + "@X02|@X07" + "@POS:29@" + " " + "@POS:56@" + "@X02|@X07" + "@POS:57@" + " "
AnsiPos 3, 18
Print "@POS:3@" + " " + "@POS:28@" + "@X02|@X07" + "@POS:29@" + " " + "@POS:56@" + "@X02|@X07" + "@POS:57@" + " "
AnsiPos 3, 19
Print "@POS:3@" + " " + "@POS:28@" + "@X02|@X07" + "@POS:29@" + " " + "@POS:56@" + "@X02|@X07" + "@POS:57@" + " "
Return
End
;------------------------------------------------------------------------------
Procedure PROC002()
AnsiPos 1, 21
Color 0
Print " "
Backup 1
EndProc
;------------------------------------------------------------------------------
Procedure PROC003()
While (OutBytes() > 0) Do
EndWhile
EndProc
;------------------------------------------------------------------------------
Procedure PROC001(String STRING014)
For INTEGER002 = 1 To Len(STRING014)
If (Mid(STRING014, INTEGER002, 1) == " ") Then
Print TSTRING013(7) + " "
Continue
Endif
Print TSTRING013(7) + "" + Mid(STRING014, INTEGER002, 1)
INTEGER003 = GetX()
INTEGER004 = GetY()
PROC002()
Delay 1
AnsiPos INTEGER003, INTEGER004
Backup 1
Print "@X07" + Mid(STRING014, INTEGER002, 1)
INTEGER003 = GetX()
INTEGER004 = GetY()
PROC002()
Delay 1
AnsiPos INTEGER003, INTEGER004
Backup 1
Print "@X08" + Mid(STRING014, INTEGER002, 1)
INTEGER003 = GetX()
INTEGER004 = GetY()
PROC002()
Delay 1
PROC003()
AnsiPos INTEGER003, INTEGER004
Next
EndProc
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 2 End
; 3 Cls
; 1 Wait
; 1 Color
; 99 Goto
; 39 Let
; 44 Print
; 56 If
; 1 DispFile
; 1 FCreate
; 1 FOpen
; 1 FClose
; 1 FGet
; 7 FPutLn
; 3 Delete
; 4 InputStr
; 12 Gosub
; 1 Return
; 7 Delay
; 9 Inc
; 48 AnsiPos
; 3 Backup
; 1 Flag
; 1 Download
; 3 EndProc
; 1 DCreate
; 5 DOpen
; 9 DClose
; 1 DPack
; 2 DnCreate
; 2 DnOpen
; 3 DnCloseAll
; 1 DNew
; 1 DAdd
; 2 DGo
; 1 DDelete
; 2 DTag
; 2 DSeek
; 6 DGet
; 3 DPut
;
;
; ■ Functions used :
;
; 312 +
; 46 ==
; 4 <
; 6 <=
; 1 >
; 8 >=
; 11 !
; 8 &&
; 7 ||
; 2 Len(
; 4 Mid()
; 6 Chr()
; 6 Inkey()
; 3 Mask_Alpha()
; 1 Mask_Num()
; 21 PPEPath()
; 2 CurSec()
; 4 Exist()
; 3 GetX()
; 3 GetY()
; 13 PPEName()
; 1 OutBytes()
; 2 DRecCount()
; 2 DSeek()
;
;------------------------------------------------------------------------------
;
; Analysis flags : f
;
; f - Flag files for download ■ 3
; This may be normal if a PPE needs to send some files, but since
; this statement allows flagging of any file on the hard disk, you
; have to be carefull. Check!
; ■ Search for : FLAG
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 4 For/Next
; 1 While/EndWhile
; 6 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------