home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Carsten's PPE Collection
/
Carstens_PPE_Collection_2007.zip
/
U
/
UOGD.ZIP
/
UOGD.PPE
(
.txt
)
< prev
Wrap
PCBoard Programming Language Executable
|
1994-07-09
|
5KB
|
238 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
;------------------------------------------------------------------------------
String STRING001
Int INT001
Int INT002
Double TDOUBLE001(3)
Double TDOUBLE002(3)
;------------------------------------------------------------------------------
Print "@CLS@"
Print "@POFF@"
GetUser
FAppend 3, PPEPath() + "UOGD.LOG", 1, 0
FPutLn 3, " "
PrintLn "@X02UOGD @X02- U@X08PLOAD @X02O@X08R @X02G@X08ET @X02D@X08ELETED @X02V@X080.99 - @X02PROXYON [@X08CRC@X02] -94"
PrintLn "@X02D@X08ONE @X02F@X08OR @X02HIGH'N DRY @X02O@X08N @X02R@X08EQUEST ■-"
FPutLn 3, " ■■ ", U_Name(), " LOGGED IN ON ", Date(), " AT ", Time()
Newline
FOpen 1, PPEPath() + "SPECIAL.DAT", 0, 0
While (((Upper(STRING001) <> Upper(U_Name())) && !Ferr(1))) FGet 1, STRING001
If (Upper(STRING001) == Upper(U_Name())) Then
FClose 1
PrintLn "@X02HELLO @USER@! THE @X08SYSOP HAS REMOVED YOU FROM THE"
PrintLn "@X02UOGD-PR@X08OCESSING LIST SO YOU DONT HAVE TO BE NAGGED BY ME."
PrintLn "@X02BE @X08VERY HAPPY BECAUSE I'M USUALLY A PAIN IN THE AS.. HAVE A NICE STAY"
FPutLn 3, U_Name(), " IS A SPECIAL USER AND SKIPPED BY UOGD-PROCESSING!"
End
Endif
FClose 1
FOpen 1, PPEPath() + "CONFIG.DAT", 0, 0
FGet 1, TDOUBLE002(1)
FGet 1, TDOUBLE002(2)
FGet 1, TDOUBLE002(3)
FGet 1, TDOUBLE002(4)
FClose 1
STRING001 = ""
FOpen 1, PPEPath() + "LAMERS.DAT", 0, 0
While (((Upper(STRING001) <> Upper(U_Name())) && !Ferr(1))) FGet 1, STRING001
If (Upper(STRING001) == Upper(U_Name())) Then
PrintLn "@X02HELLO @USER@! @X08YOU ARE LISTED AS A @X02LAMER @X08BECAUSE"
PrintLn "@X02YOU HAVEN'@X08T UPLOADED WHAT YOU WERE SUPPOSED TO!"
If (TDOUBLE002(4) == 1) Then
FPutLn 3, "HE TRIED TO LOG ON, BUT HE WAS THROWN OUT BECAUSE HE'S"
FPutLn 3, "IN THE LAMER LIST. YOU SHOULD DECIDE WHAT TO DO WITH HIM SOON!"
PrintLn "@X02 -- YOU'RE OUTTA HERE! CLICK!!! --"
FClose 1
Hangup
Endif
FPutLn 3, "THE USER IS IN THE LAMER LIST. YOU SHOULD DECIDE WHAT TO DO WITH HIM SOON!"
PrintLn "@X02YOU N@X08OW ONLY HAVE THE SECURITY @X02", TDOUBLE002(3), "@X08 AND WILL HAVE"
PrintLn "@X02S@X08O UNTIL THE SYSOP DECIDES WHETHER TO DELETE YOU OR TO GIVE YOU"
PrintLn "ONE MORE CHANCE!"
PrintLn "@WAIT@"
PrintLn "@X0F@CLS@"
Newline
End
Endif
FClose 1
FOpen 1, PPEPath() + "USERS.DAT", 0, 0
STRING001 = ""
While (((Upper(STRING001) <> Upper(U_Name())) && !Ferr(1))) FGet 1, STRING001
If (Upper(STRING001) <> Upper(U_Name())) Then
FPutLn 3, "USER NOT IN USERS.DAT! HE WAS INFORMED ABOUT UOGD"
FClose 1
FAppend 1, PPEPath() + "USERS.DAT", 2, 0
DispFile PPEPath() + "NEWUSER.PCB", 0
FPutLn 1, U_Name()
FPutLn 1, U_Bul()
FPutLn 1, "0"
FPutLn 1, "0"
FClose 1
End
Endif
For INT001 = 1 To 3
FGet 1, TDOUBLE001(INT001)
Next
FClose 1
If ((TDOUBLE001(3) >= TDOUBLE002(1)) && (U_Bul() - TDOUBLE001(1) + TDOUBLE001(2) <= TDOUBLE002(2))) Then
FPutLn 3, "USER HASN'T UPLOADED ENOUGH, ADDING HIM TO THE LAMER LIST AND"
FPutLn 3, "LOWERING HIS SECURITY TO ", TDOUBLE002(3)
DispFile PPEPath() + "INFOSYS.PCB", 1
AnsiPos 30, 4
Print "@X5F", TDOUBLE002(3), "."
AnsiPos 1, 11
Print "@WAIT@"
Print "@X0F@CLS@"
FAppend 1, PPEPath() + "LAMERS.DAT", 1, 0
FPutLn 1, U_Name()
U_Sec = TDOUBLE002(3)
PutUser
End
Endif
DispFile PPEPath() + "INFO.PCB", 0
AnsiPos 19, 3
Print "@X5F" + U_Name()
AnsiPos 31, 4
Print U_Bul(), " BYTES"
AnsiPos 16, 5
Print TDOUBLE001(3)
AnsiPos 42, 5
Print U_Bul() - TDOUBLE001(1) + TDOUBLE001(2), " BYTES"
AnsiPos 22, 6
If ((TDOUBLE001(3) >= TDOUBLE002(1)) && (U_Bul() - TDOUBLE001(1) + TDOUBLE001(2) >= TDOUBLE002(2))) Then
Print "UPLOADED WHAT WE WANTED... GREAT!"
INT002 = 1
Else
Print TDOUBLE002(1) - TDOUBLE001(3)
AnsiPos 45, 6
Print TDOUBLE002(2) - U_Bul() - TDOUBLE001(1) + TDOUBLE001(2), " BYTES"
Endif
AnsiPos 1, 11
Print "@WAIT@"
Print "@X0F@CLS@"
FCreate 2, PPEPath() + "USERS.XXX", 1, 0
FOpen 1, PPEPath() + "USERS.DAT", 0, 0
STRING001 = ""
While ((Upper(STRING001) <> Upper(U_Name())) && !Ferr(1)) Do
FGet 1, STRING001
If (STRING001 <> "") FPutLn 2, STRING001
EndWhile
FGet 1, STRING001
FGet 1, STRING001
FGet 1, STRING001
FPutLn 2, U_Bul()
If (INT002 == 0) Then
FPutLn 2, U_Bul() - TDOUBLE001(1) + TDOUBLE001(2)
Else
FPutLn 2, "0"
Endif
If (INT002 == 0) Then
FPutLn 2, Date() - U_LDate() + TDOUBLE001(3)
Else
FPutLn 2, "0"
Endif
:LABEL001
If (Ferr(1)) Goto LABEL002
FGet 1, STRING001
If (STRING001 <> "") FPutLn 2, STRING001
Goto LABEL001
:LABEL002
FClose 1
FClose 2
Delete PPEPath() + "USERS.DAT"
Rename PPEPath() + "USERS.XXX", PPEPath() + "USERS.DAT"
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 4 End
; 20 Goto
; 7 Let
; 14 Print
; 13 PrintLn
; 16 If
; 3 DispFile
; 1 FCreate
; 5 FOpen
; 3 FAppend
; 10 FClose
; 13 FGet
; 21 FPutLn
; 1 Hangup
; 1 GetUser
; 1 PutUser
; 1 Delete
; 2 Newline
; 9 AnsiPos
; 1 Rename
;
;
; ■ Functions used :
;
; 23 +
; 8 -
; 5 ==
; 7 <>
; 1 <
; 2 <=
; 5 >=
; 15 !
; 8 &&
; 1 ||
; 14 Upper()
; 5 Ferr()
; 2 Date()
; 1 Time()
; 12 U_Name()
; 1 U_LDate()
; 8 U_Bul()
; 15 PPEPath()
;
;------------------------------------------------------------------------------
;
; Analysis flags : WB
;
; 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
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 1 For/Next
; 1 While/EndWhile
; 8 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------