home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Carsten's PPE Collection
/
Carstens_PPE_Collection_2007.zip
/
T
/
TIMESON2.ZIP
/
TIMESON.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1994-06-12
|
3KB
|
207 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
String TSTRING002(2)
String TSTRING003(2)
String STRING004
String STRING005
;------------------------------------------------------------------------------
If (Psa(6) == 1) Then
Goto LABEL001
SPrintLn
SPrintLn "┌───────────────────────────────────────────────────────────────────┐"
SPrintLn "│ Your system is improperly configured for use with the TIMESON.PPE │"
SPrintLn "│ file. You MUST have the NOTES PSA installed in PCBoard. Once │"
SPrintLn "│ you have that done, this PPE will function correctly. │"
SPrintLn "└───────────────────────────────────────────────────────────────────┘"
SPrintLn
For INTEGER002 = 1 To 3
MPrint Chr(7)
Sound 2000
Delay 1
Sound 3000
Delay 1
Sound 4000
Delay 1
Sound 5000
Delay 1
Sound 6000
Delay 1
Next
Endif
Goto LABEL002
:LABEL001
If (U_LDate() <> Date()) Then
GetUser
TSTRING002(1) = "CALLS"
TSTRING002(2) = 1
U_Notes(2) = TSTRING002(1) + " " + TSTRING002(2)
PutUser
Else
GetUser
If (Left(U_Notes(2), 5) <> "CALLS") Then
TSTRING002(1) = "CALLS"
TSTRING002(2) = 1
U_Notes(2) = TSTRING002(1) + " " + TSTRING002(2)
PutUser
Endif
GetUser
Tokenize U_Notes(2)
INTEGER003 = 1
GetToken TSTRING002(INTEGER003)
While (TSTRING002(INTEGER003) <> "") Do
INTEGER003 = INTEGER003 + 1
GetToken TSTRING002(INTEGER003)
EndWhile
INTEGER001 = TSTRING002(2)
INTEGER002 = INTEGER001 + 1
TSTRING002(2) = INTEGER002
U_Notes(2) = TSTRING002(1) + " " + TSTRING002(2)
PutUser
Endif
FOpen 1, PPEPath() + "TIMESON.CFG", 0, 0
While (!Ferr(1) && (CurSec() <> STRING005)) Do
FGet 1, STRING005
Tokenize STRING005
STRING004 = 1
GetToken TSTRING003(STRING004)
While (TSTRING003(STRING004) <> "") Do
STRING004 = STRING004 + 1
GetToken TSTRING003(STRING004)
EndWhile
EndWhile
FClose 1
If (TSTRING003(1) == CurSec()) Then
INTEGER004 = TSTRING003(2)
Else
INTEGER004 = 7
Log "USER LEVEL NOT IN TIMESON.CFG", 1
Endif
If (TSTRING002(2) >= INTEGER004) Then
FreshLine
PrintLn "@X0FYOU HAVE LOGGED IN " + TSTRING002(2) + " TIMES TODAY!"
PrintLn "@X0FYOU HAVE EXCEEDED THE TIMES YOU CAN LOG TODAY ON AT"
Newline
PrintLn "@X0FYOUR CURRENT SECURITY LEVEL OF " + CurSec() + " !"
DispText 59, 2048 + 256 + 128
Newline
PrintLn
Log "USER HAS EXCEEDED THE TIMES HE/SHE CAN CALL TODAY!", 0
Delay 45
Hangup
Else
INTEGER006 = TSTRING002(2)
INTEGER005 = INTEGER004 - INTEGER006
FreshLine
PrintLn "@X0FYOU HAVE LOGGED ONTO THE BBS " + INTEGER006 + " TIMES TODAY!"
PrintLn "@X0FYOU CAN STILL LOG ON " + INTEGER005 + " MORE TIMES TODAY!"
PrintLn
Endif
:LABEL002
End
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 1 End
; 18 Goto
; 20 Let
; 7 PrintLn
; 9 If
; 1 FOpen
; 1 FClose
; 1 FGet
; 1 Hangup
; 3 GetUser
; 3 PutUser
; 2 Log
; 6 Delay
; 2 Newline
; 2 Tokenize
; 4 GetToken
; 1 DispText
; 2 FreshLine
; 5 Sound
; 7 SPrintLn
; 1 MPrint
;
;
; ■ Functions used :
;
; 21 +
; 1 -
; 2 ==
; 5 <>
; 1 <
; 1 <=
; 3 >=
; 10 !
; 3 &&
; 1 ||
; 1 Left()
; 1 Ferr()
; 1 Chr()
; 1 Date()
; 1 U_LDate()
; 1 PPEPath()
; 3 CurSec()
; 1 Psa()
;
;------------------------------------------------------------------------------
;
; Analysis flags : WBM
;
; W - Write user ■ 5
; Program writes a user record. Although this may be normal for a
; User Editor, it may also be a way to modify an account level.
; ■ Search for : PUTUSER
;
; 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
;
; M - Send text to modem only ■ 4
; Some informations are sent only to the modem, not to the local
; screen, this is a well known way to make stealth backdoors, Check!
; ■ Search for : SENDMODEM, MPRINT, MPRINTLN
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 1 For/Next
; 3 While/EndWhile
; 5 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------