home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Collection of Hack-Phreak Scene Programs
/
cleanhpvac.zip
/
cleanhpvac
/
GNS_LOGF.ZIP
/
LOGOFF.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1994-06-19
|
11KB
|
738 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 2.OO (plain) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
Integer INTEGER005
Integer INTEGER006
Integer INTEGER007
Integer INTEGER008
Integer INTEGER009
Integer INTEGER010
Integer INTEGER011
Integer INTEGER012
Integer INTEGER013
Integer INTEGER014
Integer INTEGER015
Integer INTEGER016
String STRING001
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
String STRING007
String STRING008
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
String STRING022
String STRING023
String STRING024
String STRING025
String STRING026
String STRING027
String STRING028
String STRING029
String STRING030
String STRING031
String STRING032
String STRING033
String STRING034
String STRING035
String STRING036
String STRING037
String STRING038
String STRING039
String STRING040
;------------------------------------------------------------------------------
Cls
GetUser
FOpen 1, PPEPath() + "LOGOFF.CNF", 0, 0
FGet 1, STRING001
FGet 1, STRING002
FGet 1, STRING003
FGet 1, STRING004
FGet 1, INTEGER001
FGet 1, INTEGER002
FGet 1, STRING006
FGet 1, STRING007
FGet 1, STRING008
FGet 1, STRING009
FGet 1, STRING010
FGet 1, STRING005
FGet 1, STRING012
FGet 1, STRING011
FGet 1, STRING013
FGet 1, STRING015
FGet 1, STRING014
FGet 1, STRING016
FGet 1, STRING017
FClose 1
If (Upper(STRING001) == "YES") Then
FOpen 1, PPEPath() + "LITEBAR.CNF", 0, 0
FGet 1, INTEGER003
FGet 1, INTEGER004
FGet 1, STRING024
FGet 1, STRING025
FGet 1, INTEGER005
FGet 1, INTEGER006
FGet 1, STRING026
FGet 1, STRING027
FGet 1, INTEGER007
FGet 1, INTEGER008
FGet 1, STRING028
FGet 1, STRING029
FGet 1, INTEGER009
FGet 1, INTEGER010
FGet 1, STRING030
FGet 1, STRING031
FGet 1, INTEGER011
FGet 1, INTEGER012
FGet 1, STRING032
FGet 1, STRING033
FGet 1, INTEGER013
FGet 1, INTEGER014
FGet 1, STRING034
FGet 1, STRING035
FClose 1
Endif
If (Upper(STRING001) == "NO") Then
FOpen 1, PPEPath() + "MENU.CNF", 0, 0
FGet 1, STRING018
FGet 1, STRING019
FGet 1, STRING020
FGet 1, STRING021
FGet 1, STRING022
FGet 1, STRING023
FClose 1
Endif
If (STRING008 == ("" || "NONE")) Goto LABEL001
DispFile PPEPath() + STRING008, 1
Print "@WAIT@"
:LABEL001
DispFile PPEPath() + STRING006, 1
If (Upper(STRING001) == "YES") Gosub LABEL002
If (Upper(STRING001) == "NO") Gosub LABEL006
:LABEL002
INTEGER015 = 1
STRING038 = ""
AnsiPos INTEGER003, INTEGER004
Print STRING025
AnsiPos INTEGER003, INTEGER004
:LABEL003
STRING036 = Inkey()
If (STRING036 == "") Goto LABEL003
If ((((STRING036 == "UP") || (Upper(STRING036) == "A")) || (Upper(STRING036) == "Z")) || (STRING036 == "DOWN")) Then
If (INTEGER015 == 1) Then
AnsiPos INTEGER003, INTEGER004
Print STRING024
AnsiPos INTEGER003, INTEGER004
Endif
If (INTEGER015 == 2) Then
AnsiPos INTEGER005, INTEGER006
Print STRING026
AnsiPos INTEGER005, INTEGER006
Endif
If (INTEGER015 == 3) Then
AnsiPos INTEGER007, INTEGER008
Print STRING028
AnsiPos INTEGER007, INTEGER008
Endif
If (INTEGER015 == 4) Then
AnsiPos INTEGER009, INTEGER010
Print STRING030
AnsiPos INTEGER009, INTEGER010
Endif
If (INTEGER015 == 5) Then
AnsiPos INTEGER011, INTEGER012
Print STRING032
AnsiPos INTEGER011, INTEGER012
Endif
If (INTEGER015 == 6) Then
AnsiPos INTEGER013, INTEGER014
Print STRING034
AnsiPos INTEGER013, INTEGER014
Endif
If ((Upper(STRING036) == "A") || (STRING036 == "UP")) Dec INTEGER015
If ((Upper(STRING036) == "Z") || (STRING036 == "DOWN")) Inc INTEGER015
If (INTEGER015 < 1) Then
INTEGER015 = 6
If (Upper(STRING005) == "NO") Dec INTEGER015
Endif
If (INTEGER015 > 6) INTEGER015 = 1
If ((INTEGER015 == 2) && (Upper(STRING002) == "NO")) Then
If ((Upper(STRING036) == "Z") || (STRING036 == "DOWN")) Inc INTEGER015
If ((Upper(STRING036) == "A") || (STRING036 == "UP")) Dec INTEGER015
Endif
If ((INTEGER015 == 3) && (Upper(STRING004) == "NO")) Then
If ((Upper(STRING036) == "Z") || (STRING036 == "DOWN")) Inc INTEGER015
If ((Upper(STRING036) == "A") || (STRING036 == "UP")) Dec INTEGER015
Endif
If ((INTEGER015 == 6) && (Upper(STRING005) == "NO")) Then
If ((Upper(STRING036) == "Z") || (STRING036 == "DOWN")) Inc INTEGER015
If ((Upper(STRING036) == "A") || (STRING036 == "UP")) Dec INTEGER015
Endif
If (INTEGER015 > 6) INTEGER015 = 1
If (INTEGER015 == 1) Then
AnsiPos INTEGER003, INTEGER004
Print STRING025
AnsiPos INTEGER003, INTEGER004
Endif
If (INTEGER015 == 2) Then
AnsiPos INTEGER005, INTEGER006
Print STRING027
AnsiPos INTEGER005, INTEGER006
Endif
If (INTEGER015 == 3) Then
AnsiPos INTEGER007, INTEGER008
Print STRING029
AnsiPos INTEGER007, INTEGER008
Endif
If (INTEGER015 == 4) Then
AnsiPos INTEGER009, INTEGER010
Print STRING031
AnsiPos INTEGER009, INTEGER010
Endif
If (INTEGER015 == 5) Then
AnsiPos INTEGER011, INTEGER012
Print STRING033
AnsiPos INTEGER011, INTEGER012
Endif
If (INTEGER015 == 6) Then
AnsiPos INTEGER013, INTEGER014
Print STRING035
AnsiPos INTEGER013, INTEGER014
Endif
Endif
If (STRING036 == Chr(13)) Then
If (INTEGER015 == 1) Then
If (STRING013 == "NONE") Then
Print "@X0F"
Cls
DispFile PPEPath() + "FEEDBACK.TOP", 1
FCreate 1, PPEPath() + "TEMP.MSG", 1, 0
For INTEGER016 = 1 To 100
Print "@X08", INTEGER016, "> "
InputStr "_", STRING038, 75, 75, Mask_Ascii(), 0
If (Upper(STRING038) == "/S") Break
If (Upper(STRING038) == "/A") Then
PrintLn
Print "@X08Message Aborted!"
Goto LABEL004
Endif
FPutLn 1, STRING038
STRING038 = ""
PrintLn
Next
FClose 1
Message 0, "SYSOP", "", "Logoff Feedback", "R", 0, 0, 1, PPEPath() + "TEMP.MSG"
Delete PPEPath() + "TEMP.MSG"
PrintLn
Print "@X08Message Saved - Conference #0"
Endif
:LABEL004
If (!(STRING013 == "NONE")) Call STRING013
Goto LABEL001
Endif
If (INTEGER015 == 2) Then
If (U_Sec < INTEGER002) Goto LABEL001
If (STRING015 == "NONE") Then
Print "@X0F"
Cls
DispFile PPEPath() + "AUTOMSG.TOP", 1
FCreate 1, PPEPath() + "TEMP.MSG", 1, 0
For INTEGER016 = 1 To 100
Print "@X08", INTEGER016, "> "
InputStr "_", STRING038, 75, 75, Mask_Ascii(), 0
If (Upper(STRING038) == "/S") Break
If (Upper(STRING038) == "/A") Then
PrintLn
Print "@X08Message Aborted!"
Goto LABEL005
Endif
FPutLn 1, STRING038
STRING038 = ""
PrintLn
Next
FClose 1
FCreate 1, PPEPath() + "AUTOBUL.", 1, 0
FClose 1
Append PPEPath() + "AUTOBUL.TOP", PPEPath() + "AUTOBUL."
Append PPEPath() + "TEMP.MSG", PPEPath() + "AUTOBUL."
Append PPEPath() + "AUTOBUL.BOT", PPEPath() + "AUTOBUL."
Endif
Endif
:LABEL005
If (INTEGER015 == 3) Then
If (U_Sec < INTEGER001) Goto LABEL001
If (STRING014 == "NONE") Then
Print "@X0F"
Cls
DispFile PPEPath() + "CHAT.TOP", 1
PrintLn
Print "@X08> "
InputStr "_", STRING039, 76, 76, Mask_Ascii(), 0
If (STRING039 == "") Goto LABEL001
PrintLn "@X09"
SPrintLn
SPrintLn "LOCAL MESSAGE: [Press SPACE to answer Page!]"
SPrintLn
For INTEGER016 = 1 To 10
Print STRING017
Sound 100
Delay 1
Sound 200
Delay 1
Sound 300
Delay 1
Sound 400
Delay 1
Sound 500
Delay 1
Sound 600
Delay 1
Sound 700
Delay 1
Sound 800
Delay 1
Sound 900
Delay 1
Sound 0
Delay 5
If (KInkey() == " ") Then
Chat
Break
Endif
Next
Endif
If (!(STRING014 == "NONE")) Call STRING014
Endif
If (INTEGER015 == 4) Then
Print "@X0F"
Cls
STRING037 = "N"
InputStr STRING016, STRING037, 1, 1, "YyNn", 2 + 4
If ((Upper(STRING037) == "N") || (STRING037 == " ")) Then
If (Exist(PPEPath() + STRING010)) DispFile PPEPath() + STRING010, 1
Hangup
End
Endif
If (Upper(STRING037) == "Y") Then
If (Exist(PPEPath() + STRING009)) DispFile PPEPath() + STRING009, 1
Hangup
End
Endif
Goto LABEL001
Endif
If (INTEGER015 == 5) Then
Print "@X0F"
Cls
End
Goto LABEL001
Endif
If (INTEGER015 == 6) Then
Print "@X0F"
Cls
If (Exist(PPEPath() + STRING011)) DispFile PPEPath() + STRING011, 1
Goto LABEL001
Endif
Goto LABEL001
Endif
Goto LABEL003
:LABEL006
If (STRING018 == "YES") Then
Print STRING007
:LABEL007
STRING040 = ""
While ((STRING040 == "")) STRING040 = Upper(Inkey())
If (STRING040 == "?") Then
Print "?"
Goto LABEL001
Endif
If (STRING040 == "F") Then
Print STRING019
If (STRING013 == "NONE") Then
Print "@X0F"
Cls
DispFile PPEPath() + "FEEDBACK.TOP", 1
FCreate 1, PPEPath() + "TEMP.MSG", 1, 0
For INTEGER016 = 1 To 100
Print "@X08", INTEGER016, "> "
InputStr "_", STRING038, 75, 75, Mask_Ascii(), 0
If (Upper(STRING038) == "/S") Break
If (Upper(STRING038) == "/A") Then
PrintLn
Print "@X08Message Aborted!"
Goto LABEL008
Endif
FPutLn 1, STRING038
STRING038 = ""
PrintLn
Next
FClose 1
Message 0, "SYSOP", "", "Logoff Feedback", "R", 0, 0, 1, PPEPath() + "TEMP.MSG"
Delete PPEPath() + "TEMP.MSG"
PrintLn
Print "@X08Message Saved - Conference #0"
Endif
:LABEL008
If (!(STRING013 == "NONE")) Call STRING013
Goto LABEL001
Endif
If ((STRING040 == "P") && (STRING002 == "YES")) Then
If (U_Sec < INTEGER001) Goto LABEL001
Print STRING020
If (STRING014 == "NONE") Then
Print "@X0F"
Cls
DispFile PPEPath() + "CHAT.TOP", 1
PrintLn
Print "@X08> "
InputStr "_", STRING039, 76, 76, Mask_Ascii(), 0
If (STRING039 == "") Goto LABEL001
PrintLn "@X09"
SPrintLn
SPrintLn "LOCAL MESSAGE: [Press SPACE to answer Page!]"
SPrintLn
For INTEGER016 = 1 To 10
Print STRING017
Sound 100
Delay 1
Sound 200
Delay 1
Sound 300
Delay 1
Sound 400
Delay 1
Sound 500
Delay 1
Sound 600
Delay 1
Sound 700
Delay 1
Sound 800
Delay 1
Sound 900
Delay 1
Sound 0
Delay 5
If (KInkey() == " ") Then
Chat
Break
Endif
Next
Endif
If (!(STRING014 == "NONE")) Call STRING014
Endif
If ((STRING040 == "A") && (STRING004 == "YES")) Then
Print STRING021
If (U_Sec < INTEGER002) Goto LABEL001
If (STRING015 == "NONE") Then
Print "@X0F"
Cls
DispFile PPEPath() + "AUTOMSG.TOP", 1
FCreate 1, PPEPath() + "TEMP.MSG", 1, 0
For INTEGER016 = 1 To 100
Print "@X08", INTEGER016, "> "
InputStr "_", STRING038, 75, 75, Mask_Ascii(), 0
If (Upper(STRING038) == "/S") Break
If (Upper(STRING038) == "/A") Then
PrintLn
Print "@X08Message Aborted!"
Goto LABEL009
Endif
FPutLn 1, STRING038
STRING038 = ""
PrintLn
Next
FClose 1
FCreate 1, PPEPath() + "AUTOBUL.", 1, 0
FClose 1
Append PPEPath() + "AUTOBUL.TOP", PPEPath() + "AUTOBUL."
Append PPEPath() + "TEMP.MSG", PPEPath() + "AUTOBUL."
Append PPEPath() + "AUTOBUL.BOT", PPEPath() + "AUTOBUL."
Endif
Endif
:LABEL009
If (STRING040 == "Q") Then
Print STRING023
Print "@X0F"
Cls
End
Endif
If (STRING040 == "G") Then
Print STRING022
Print "@X0F"
Cls
STRING037 = "N"
InputStr STRING016, STRING037, 1, 1, "YyNn", 2 + 4
If ((Upper(STRING037) == "N") || (STRING037 == " ")) Then
If (Exist(PPEPath() + STRING010)) DispFile PPEPath() + STRING010, 1
Hangup
End
Endif
If (Upper(STRING037) == "Y") Then
If (Exist(PPEPath() + STRING009)) DispFile PPEPath() + STRING009, 1
Hangup
End
Endif
Goto LABEL001
Endif
If ((STRING040 == STRING012) && (STRING005 == "YES")) Then
Print ""
DispFile PPEPath() + STRING011, 1
Goto LABEL001
Endif
Goto LABEL007
Endif
If (STRING018 == "NO") Then
:LABEL010
STRING040 = ""
PrintLn
InputStr STRING007 + "_", STRING040, 40, 40, Mask_Ascii(), 0
STRING040 = Upper(STRING040)
If (STRING040 == "?") Goto LABEL001
If (STRING040 == "") Goto LABEL010
If (STRING040 == "F") Then
If (STRING013 == "NONE") Then
Print "@X0F"
Cls
DispFile PPEPath() + "FEEDBACK.TOP", 1
FCreate 1, PPEPath() + "TEMP.MSG", 1, 0
For INTEGER016 = 1 To 100
Print "@X08", INTEGER016, "> "
InputStr "_", STRING038, 75, 75, Mask_Ascii(), 0
If (Upper(STRING038) == "/S") Break
If (Upper(STRING038) == "/A") Then
PrintLn
Print "@X08Message Aborted!"
Goto LABEL011
Endif
FPutLn 1, STRING038
STRING038 = ""
PrintLn
Next
FClose 1
Message 0, "SYSOP", "", "Logoff Feedback", "R", 0, 0, 1, PPEPath() + "TEMP.MSG"
Delete PPEPath() + "TEMP.MSG"
PrintLn
Print "@X08Message Saved - Conference #0"
Endif
:LABEL011
If (!(STRING013 == "NONE")) Call STRING013
Goto LABEL001
Endif
If ((STRING040 == "P") && (STRING002 == "YES")) Then
If (U_Sec < INTEGER001) Goto LABEL001
If (STRING014 == "NONE") Then
Print "@X0F"
Cls
DispFile PPEPath() + "CHAT.TOP", 1
PrintLn
Print "@X08> "
InputStr "_", STRING039, 76, 76, Mask_Ascii(), 0
If (STRING039 == "") Goto LABEL001
PrintLn "@X09"
SPrintLn
SPrintLn "LOCAL MESSAGE: [Press SPACE to answer Page!]"
SPrintLn
For INTEGER016 = 1 To 10
Print STRING017
Sound 100
Delay 1
Sound 200
Delay 1
Sound 300
Delay 1
Sound 400
Delay 1
Sound 500
Delay 1
Sound 600
Delay 1
Sound 700
Delay 1
Sound 800
Delay 1
Sound 900
Delay 1
Sound 0
Delay 5
If (KInkey() == " ") Then
Chat
Break
Endif
Next
Endif
If (!(STRING014 == "NONE")) Call STRING014
Endif
If ((STRING040 == "A") && (STRING004 == "YES")) Then
If (U_Sec < INTEGER002) Goto LABEL001
If (STRING015 == "NONE") Then
Print "@X0F"
Cls
DispFile PPEPath() + "AUTOMSG.TOP", 1
FCreate 1, PPEPath() + "TEMP.MSG", 1, 0
For INTEGER016 = 1 To 100
Print "@X08", INTEGER016, "> "
InputStr "_", STRING038, 75, 75, Mask_Ascii(), 0
If (Upper(STRING038) == "/S") Break
If (Upper(STRING038) == "/A") Then
PrintLn
Print "@X08Message Aborted!"
Goto LABEL012
Endif
FPutLn 1, STRING038
STRING038 = ""
PrintLn
Next
FClose 1
FCreate 1, PPEPath() + "AUTOBUL.", 1, 0
FClose 1
Append PPEPath() + "AUTOBUL.TOP", PPEPath() + "AUTOBUL."
Append PPEPath() + "TEMP.MSG", PPEPath() + "AUTOBUL."
Append PPEPath() + "AUTOBUL.BOT", PPEPath() + "AUTOBUL."
Endif
Endif
:LABEL012
If (STRING040 == "Q") Then
Print "@X0F"
Cls
End
Endif
If (STRING040 == "G") Then
Print "@X0F"
Cls
STRING037 = "N"
InputStr STRING016, STRING037, 1, 1, "YyNn", 2 + 4
If ((Upper(STRING037) == "N") || (STRING037 == " ")) Then
If (Exist(PPEPath() + STRING010)) DispFile PPEPath() + STRING010, 1
Hangup
End
Endif
If (Upper(STRING037) == "Y") Then
If (Exist(PPEPath() + STRING009)) DispFile PPEPath() + STRING009, 1
Hangup
End
Endif
Goto LABEL001
Endif
If ((STRING040 == STRING012) && (STRING005 == "YES")) Then
DispFile PPEPath() + STRING011, 1
Goto LABEL001
Endif
Goto LABEL010
Endif
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 9 End
; 17 Cls
; 127 Goto
; 37 Let
; 59 Print
; 22 PrintLn
; 120 If
; 20 DispFile
; 9 FCreate
; 3 FOpen
; 12 FClose
; 49 FGet
; 6 FPutLn
; 6 Hangup
; 1 GetUser
; 3 Delete
; 13 InputStr
; 2 Gosub
; 30 Delay
; 4 Inc
; 5 Dec
; 6 Call
; 26 AnsiPos
; 3 Message
; 30 Sound
; 3 Chat
; 9 SPrintLn
; 9 Append
;
;
; ■ Functions used :
;
; 76 +
; 118 ==
; 16 <
; 9 <=
; 2 >
; 18 >=
; 81 !
; 27 &&
; 24 ||
; 38 Upper()
; 1 Chr()
; 2 Inkey()
; 10 Mask_Ascii()
; 63 PPEPath()
; 7 Exist()
; 3 KInkey()
;
;------------------------------------------------------------------------------
;
; Analysis flags : BC
;
; B - Brute hangup ■ 1
; Program hangup without notification. This may be a good way to
; disconnect a user, but if used randomly, may be very nasty
; ■ Search for : HANGUP, DTROFF
;
; C - Call child PPE ■ 3
; This is usually normal, but may be a tricky way to launch some
; sysop-only commands.
; ■ Search for : CALL
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 9 For/Next
; 0 While/EndWhile
; 65 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------