home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DP Tool Club 8
/
CDASC08.ISO
/
VRAC
/
CW_PPP10.ZIP
/
SPEEDLIM.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1993-09-09
|
4KB
|
215 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 1.OO (plain) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
Integer INTEGER005
Integer INTEGER006
Integer INTEGER007
Integer INTEGER008
Integer INTEGER009
String STRING001
String STRING002
String STRING003
String STRING004
String TSTRING005(250)
String STRING006
String STRING007
String STRING008
String STRING009
String STRING010
String STRING011
String STRING012
String STRING013
String STRING014
String STRING015
String STRING016
;------------------------------------------------------------------------------
STRING001 = "1.3"
FOpen 1, PPEPath() + "SPEEDLIM.CNF", 0, 0
FGet 1, STRING010
FGet 1, INTEGER008
FGet 1, INTEGER006
FGet 1, INTEGER003
FGet 1, STRING002
FGet 1, STRING003
FGet 1, STRING004
FClose 1
Tokenize STRING010
GetToken STRING014
GetToken STRING015
If (INTEGER008 == 0) Then
STRING016 = "N"
Goto LABEL002
Else
Goto LABEL001
Endif
:LABEL001
INTEGER004 = 36
INTEGER007 = 62956
STRING011 = Left(STRING014, 1)
STRING012 = Left(STRING015, 2)
STRING013 = STRING011 + STRING012
If (STRING011 == "A") INTEGER009 = 1934
If (STRING011 == "B") INTEGER009 = 2859
If (STRING011 == "C") INTEGER009 = 3743
If (STRING011 == "D") INTEGER009 = 4660
If (STRING011 == "E") INTEGER009 = 5534
If (STRING011 == "F") INTEGER009 = 6471
If (STRING011 == "G") INTEGER009 = 7325
If (STRING011 == "H") INTEGER009 = 8287
If (STRING011 == "I") INTEGER009 = 9119
If (STRING011 == "J") INTEGER009 = 1096
If (STRING011 == "K") INTEGER009 = 2928
If (STRING011 == "L") INTEGER009 = 3885
If (STRING011 == "M") INTEGER009 = 4737
If (STRING011 == "N") INTEGER009 = 5674
If (STRING011 == "O") INTEGER009 = 6546
If (STRING011 == "P") INTEGER009 = 7463
If (STRING011 == "Q") INTEGER009 = 8355
If (STRING011 == "R") INTEGER009 = 9242
If (STRING011 == "S") INTEGER009 = 1164
If (STRING011 == "T") INTEGER009 = 2031
If (STRING011 == "U") INTEGER009 = 3973
If (STRING011 == "V") INTEGER009 = 4820
If (STRING011 == "W") INTEGER009 = 5782
If (STRING011 == "X") INTEGER009 = 6619
If (STRING011 == "Y") INTEGER009 = 7591
If (STRING011 == "Z") INTEGER009 = 8408
INTEGER005 = S2I(STRING013, INTEGER004) + INTEGER008 + INTEGER007 + INTEGER009
If (Len(INTEGER008) == 1) STRING007 = "000"
If (Len(INTEGER008) == 2) STRING007 = "00"
If (Len(INTEGER008) == 3) STRING007 = "0"
If (Len(INTEGER008) == 4) STRING007 = ""
STRING008 = INTEGER008
STRING009 = STRING007 + STRING008
:LABEL002
If (!(INTEGER006 == INTEGER005) || (STRING016 == "N")) Then
STRING006 = "@X0BSpeedLim v" + STRING001 + " # " + "@X0CUNREGISTERED@X0B" + " ■ " + STRING010 + " ■ "
Else
STRING006 = "@X0BSpeedLim v" + STRING001 + " #@X0F" + STRING009 + "@X0B ■ " + STRING010 + " ■ "
Endif
If (Carrier() == INTEGER003) Goto LABEL003
If (Carrier() > INTEGER003) Goto LABEL000
PrintLn "@X0BMaintaining @X0FSpeed Limit@X0B!"
PrintLn STRING006
Delay 18
End
:LABEL003
FOpen 1, STRING002, 0, 0
FGet 1, INTEGER001
For INTEGER002 = 1 To INTEGER001
FGet 1, TSTRING005(INTEGER002)
If (U_Name() == Upper(TSTRING005(INTEGER002))) Goto LABEL004
Next
FClose 1
Goto LABEL005
:LABEL004
PrintLn "@X0BModem Speed is too low but name was found in @X0FSpeed Limit@X0B!"
PrintLn "@X0BYou are granted access at this modem speed!"
PrintLn STRING006
FClose 1
Delay 18
End
:LABEL005
If (STRING004 == "") Goto LABEL006
FAppend 1, STRING004, 2, 3
FPutLn 1, "On " + String(Date()) + " at " + String(Time()) + " SpeedLimit blocked " + U_Name()
FClose 1
DispFile STRING003, 4 + 2 + 1
PrintLn STRING006
Goto LABEL007
:LABEL006
DispFile STRING003, 4 + 2 + 1
PrintLn STRING006
:LABEL007
Delay 18
Hangup
End
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 3 End
; 14 Goto
; 44 Let
; 7 PrintLn
; 37 If
; 2 DispFile
; 2 FOpen
; 1 FAppend
; 4 FClose
; 9 FGet
; 1 FPutLn
; 1 Hangup
; 3 Delay
; 1 Tokenize
; 2 GetToken
;
;
; ■ Functions used :
;
; 28 +
; 36 ==
; 1 <
; 1 <=
; 1 >
; 2 >=
; 5 !
; 2 &&
; 2 ||
; 4 Len(
; 1 Upper()
; 2 Left()
; 1 Date()
; 1 Time()
; 2 U_Name()
; 2 String()
; 1 PPEPath()
; 1 S2I()
; 2 Carrier()
;
;------------------------------------------------------------------------------
;
; Analysis flags : B
;
; 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
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 1 For/Next
; 0 While/EndWhile
; 2 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------