home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Carsten's PPE Collection
/
Carstens_PPE_Collection_2007.zip
/
T
/
TRL-ONEL.ZIP
/
ONELINER.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1995-01-07
|
6KB
|
436 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.O1 (Encryption type I) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
Integer INTEGER005
Integer INTEGER006
Integer INTEGER007
Integer INTEGER008
Integer INTEGER009
Integer INTEGER010
String STRING001
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
String TSTRING007(15)
String TSTRING008(15)
String STRING009
String STRING010
String STRING011
String STRING012
String STRING013
String STRING014
String STRING015
String STRING016
String STRING017
String STRING018
String STRING019
String STRING020
String STRING021
BigStr BIGSTR001
BigStr BIGSTR002
BigStr BIGSTR003
;------------------------------------------------------------------------------
Log "Opening ONELINER.PPE - By Zaskar", 0
INTEGER002 = 0
STRING006 = ""
FOpen 1, PPEPath() + "ONELINER.CNF", 2, 0
FGet 1, INTEGER005
FGet 1, INTEGER006
FGet 1, INTEGER007
FGet 1, INTEGER008
FGet 1, INTEGER009
FGet 1, STRING015
FGet 1, STRING016
FGet 1, INTEGER010
FGet 1, BIGSTR001
FGet 1, BIGSTR002
FGet 1, BIGSTR003
FGet 1, STRING017
FGet 1, STRING018
FGet 1, STRING019
FGet 1, STRING020
FGet 1, STRING021
FClose 1
FOpen 1, PPEPath() + "ONELINER.USR", 2, 0
While (STRING002 <> "---") Do
If (STRING002 == U_Name()) Goto LABEL003
FGet 1, STRING002
EndWhile
FClose 1
STRING002 = ""
If (CurSec() < INTEGER010) Then
FOpen 1, PPEPath() + "ONELINER.WHO", 2, 0
STRING004 = 1
While (STRING004 < INTEGER005 + 1) Do
FGet 1, TSTRING007(STRING004)
STRING004 = STRING004 + 1
EndWhile
FClose 1
Endif
If (CurSec() >= INTEGER010) Then
FOpen 1, PPEPath() + "TRUENAME.WHO", 2, 0
STRING004 = 1
While (STRING004 < INTEGER005 + 1) Do
FGet 1, TSTRING007(STRING004)
STRING004 = STRING004 + 1
EndWhile
FClose 1
Endif
FOpen 1, PPEPath() + "ONELINER.DAT", 2, 0
STRING004 = 1
While (STRING004 < INTEGER005 + 1) Do
FGet 1, TSTRING008(STRING004)
STRING004 = STRING004 + 1
EndWhile
FClose 1
STRING009 = STRING020 + Upper(STRING017) + "@X08" + STRING019 + STRING021 + Lower(STRING018)
STRING010 = STRING021 + Lower(STRING017) + "@X08" + STRING019 + STRING020 + Upper(STRING018)
Cls
DispFile PPEPath() + "ONELINER.ANS", ""
FOpen 1, PPEPath() + "ONELINER.DAT", 2, 0
STRING004 = 1
While (STRING004 < INTEGER005 + 1) Do
AnsiPos INTEGER006, STRING004 + 2
FGet 1, STRING002
Print STRING015 + STRING002
STRING004 = STRING004 + 1
EndWhile
FClose 1
:LABEL001
AnsiPos INTEGER008, INTEGER009
Color STRING015
ClrEol
STRING005 = 2
Print BIGSTR001 + STRING010
While (AnsiOn()) Do
STRING001 = ""
STRING001 = Inkey()
STRING001 = Upper(STRING001)
If (STRING001 <> "") Then
If (STRING001 == "UP") Then
INTEGER001 = INTEGER007 + INTEGER005 - 1
Break
Continue
Endif
If (STRING001 == "DOWN") Then
INTEGER001 = INTEGER007
Break
Continue
Endif
If (STRING001 == "LEFT") Then
Print Chr(27) + "[" + String(Len(StripAtx(STRING009))) + "D"
Print STRING009
STRING005 = 1
Continue
Endif
If (STRING001 == "RIGHT") Then
Print Chr(27) + "[" + String(Len(StripAtx(STRING010))) + "D"
Print STRING010
STRING005 = 2
Continue
Endif
If (STRING001 == Chr(13)) Then
If (STRING005 == 1) Goto LABEL002
If (STRING005 == 2) Goto LABEL003
Continue
Endif
If (STRING001 == "Y") Then
Print Chr(27) + "[" + String(Len(StripAtx(STRING009))) + "D"
Print STRING009
Goto LABEL002
Continue
Endif
If (STRING001 == "N") Then
Print Chr(27) + "[" + String(Len(StripAtx(STRING010))) + "D"
Print STRING010
Goto LABEL003
Endif
Endif
EndWhile
STRING003 = ScrText(INTEGER006, INTEGER001, 75, 1)
AnsiPos INTEGER006, INTEGER001
Print STRING016 + StripAtx(STRING003)
AnsiPos INTEGER008, INTEGER009
Color STRING015
ClrEol
Print STRING015 + TSTRING007(INTEGER001 - 2)
While (AnsiOn()) Do
STRING001 = ""
STRING001 = Inkey()
STRING001 = Upper(STRING001)
If (STRING001 <> "") Then
If ((STRING001 == "DOWN") || (STRING001 == "Z")) Then
AnsiPos INTEGER006, INTEGER001
Print STRING003
INTEGER001 = INTEGER001 + 1
If (INTEGER001 == INTEGER005 + INTEGER007) Goto LABEL001
STRING003 = ScrText(INTEGER006, INTEGER001, 75, 1)
AnsiPos INTEGER006, INTEGER001
Print STRING016 + StripAtx(STRING003)
AnsiPos INTEGER008, INTEGER009
Color STRING015
ClrEol
Print STRING015 + TSTRING007(INTEGER001 - 2)
Continue
Endif
If ((STRING001 == "UP") || (STRING001 == "A")) Then
AnsiPos INTEGER006, INTEGER001
Print STRING003
INTEGER001 = INTEGER001 - 1
If (INTEGER001 == INTEGER007 - 1) Goto LABEL001
STRING003 = ScrText(INTEGER006, INTEGER001, 75, 1)
AnsiPos INTEGER006, INTEGER001
Print STRING016 + StripAtx(STRING003)
AnsiPos INTEGER008, INTEGER009
Color STRING015
ClrEol
Print STRING015 + TSTRING007(INTEGER001 - 2)
Continue
Endif
If ((STRING001 == "Q") || (STRING001 == Chr(27))) Then
AnsiPos INTEGER006, INTEGER001
Print STRING003
Goto LABEL001
Endif
Endif
EndWhile
:LABEL002
FOpen 1, PPEPath() + "ONELINER.DAT", 2, 0
STRING004 = 1
FGet 1, STRING002
While (STRING004 < INTEGER005 + 1) Do
AnsiPos INTEGER006, STRING004 + INTEGER007 - 1
ClrEol
FGet 1, STRING002
Print STRING015 + STRING002
STRING004 = STRING004 + 1
EndWhile
FClose 1
AnsiPos INTEGER008, INTEGER009
ClrEol
Print "@X0BE@X03nt@X08er @X0BY@X03ou@X08r @X0BO@X03ne@X08liner @X0Bn@X03ow@X08!"
AnsiPos INTEGER006, INTEGER005 + INTEGER007 - 1
Print STRING015
While (STRING006 <> Chr(13)) Do
STRING006 = Inkey()
If (((Len(STRING006) == 1) && (STRING006 >= " ")) && (INTEGER002 < 74)) Then
Print STRING006
Inc INTEGER002
STRING014 = STRING014 + STRING006
If (StripAtx(Right(STRING014, 4)) == "") Then
INTEGER004 = CurColor()
For INTEGER003 = 1 To 4
Print Chr(8) + " " + Chr(8)
Dec INTEGER002
Next
Print Right(STRING014, 4)
Endif
Continue
Endif
If ((STRING006 == Chr(8)) && (Len(STRING014) > 0)) Then
If (StripAtx(Right(STRING014, 4)) == "") Then
Color INTEGER004
STRING014 = Left(STRING014, Len(STRING014) - 4)
Continue
Endif
Print Chr(8) + " " + Chr(8)
Dec INTEGER002
STRING014 = Left(STRING014, Len(STRING014) - 1)
Endif
EndWhile
If (STRING014 == "") Then
AnsiPos INTEGER008, INTEGER009
ClrEol
Print "@X0BO@X03ne@X08liner @X0BA@X03bo@X08rted!"
Else
AnsiPos INTEGER008, INTEGER009
Color STRING015
ClrEol
STRING005 = 2
Print BIGSTR002 + STRING010
While (AnsiOn()) Do
STRING001 = ""
STRING001 = Inkey()
STRING001 = Upper(STRING001)
If (STRING001 <> "") Then
If (STRING001 == "LEFT") Then
Print Chr(27) + "[" + String(Len(StripAtx(STRING009))) + "D"
Print STRING009
STRING005 = 1
Continue
Endif
If (STRING001 == "RIGHT") Then
Print Chr(27) + "[" + String(Len(StripAtx(STRING010))) + "D"
Print STRING010
STRING005 = 2
Continue
Endif
If (STRING001 == Chr(13)) Then
If (STRING005 == 1) STRING013 = "Anonymous"
If (STRING005 == 2) STRING013 = Mixed(String(U_Name()))
Break
Continue
Endif
If (STRING001 == "Y") Then
STRING013 = "Anonymous"
Print Chr(27) + "[" + String(Len(StripAtx(STRING009))) + "D"
Print STRING009
Break
Continue
Endif
If (STRING001 == "N") Then
STRING013 = Mixed(String(U_Name()))
Print Chr(27) + "[" + String(Len(StripAtx(STRING010))) + "D"
Print STRING010
Break
Endif
Endif
EndWhile
AnsiPos INTEGER008, INTEGER009
ClrEol
Print "@X0BS@X03av@X08ing @X0BO@X03ne@X08liner..."
FOpen 1, PPEPath() + "ONELINER.TRH", 2, 0
While (STRING011 <> "---") Do
FGet 1, STRING011
FGet 1, STRING012
STRING014 = ReplaceStr(STRING014, STRING011, STRING012)
EndWhile
FClose 1
Delete PPEPath() + "ONELINER.DAT"
FCreate 1, PPEPath() + "ONELINER.DAT", 2, 0
FOpen 1, PPEPath() + "ONELINER.DAT", 2, 0
STRING004 = 2
While (STRING004 < INTEGER005 + 1) Do
FPutLn 1, TSTRING008(STRING004)
STRING004 = STRING004 + 1
EndWhile
FPut 1, STRING014
FClose 1
Log "Oneliner Added: " + StripAtx(STRING014), 0
Delete PPEPath() + "ONELINER.WHO"
FCreate 1, PPEPath() + "ONELINER.WHO", 2, 0
FOpen 1, PPEPath() + "ONELINER.WHO", 2, 0
STRING004 = 2
While (STRING004 < INTEGER005 + 1) Do
FPutLn 1, TSTRING007(STRING004)
STRING004 = STRING004 + 1
EndWhile
FPut 1, "@X0BA@X03dd@X08ed @X0BB@X03y @X08[@X0F" + STRING013 + "@X08] @X0Ba@X03t @X08[@X0F" + String(Left(Time(), 5)) + "@X08] @X0Bo@X03n @X08[@X0F" + String(Date()) + "@X08]"
FClose 1
Delete PPEPath() + "TRUENAME.WHO"
FCreate 1, PPEPath() + "TRUENAME.WHO", 2, 0
FOpen 1, PPEPath() + "TRUENAME.WHO", 2, 0
STRING004 = 2
While (STRING004 < INTEGER005 + 1) Do
FPutLn 1, TSTRING007(STRING004)
STRING004 = STRING004 + 1
EndWhile
FPut 1, "@X0BA@X03dd@X08ed @X0BB@X03y @X08[@X0F" + Mixed(U_Name()) + "@X08] @X0Ba@X03t @X08[@X0F" + String(Left(Time(), 5)) + "@X08] @X0Bo@X03n @X08[@X0F" + String(Date()) + "@X08]"
FClose 1
AnsiPos INTEGER008, INTEGER009
ClrEol
Print "@X0BS@X03av@X08ed! - Oneliner Door by Zaskar [SPECiALiZED]"
Log "Exiting ONELINER.PPE - By Zaskar", 0
Endif
:LABEL003
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 1 Cls
; 10 ClrEol
; 6 Color
; 83 Goto
; 55 Let
; 38 Print
; 47 If
; 1 DispFile
; 3 FCreate
; 11 FOpen
; 11 FClose
; 25 FGet
; 3 FPut
; 3 FPutLn
; 3 Delete
; 3 Log
; 1 Inc
; 2 Dec
; 18 AnsiPos
;
;
; ■ Functions used :
;
; 103 +
; 10 -
; 30 ==
; 6 <>
; 11 <
; 1 <=
; 1 >
; 4 >=
; 40 !
; 5 &&
; 4 ||
; 12 Len(
; 2 Lower()
; 5 Upper()
; 4 Left()
; 3 Right()
; 17 Chr()
; 2 Date()
; 2 Time()
; 4 U_Name()
; 14 StripAtx()
; 4 Inkey()
; 14 String()
; 18 PPEPath()
; 2 CurSec()
; 3 AnsiOn()
; 1 CurColor()
; 3 ScrText()
; 1 ReplaceStr()
; 3 Mixed()
;
;------------------------------------------------------------------------------
;
; Analysis flags : No flag
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 1 For/Next
; 14 While/EndWhile
; 25 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------