home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1994 #1
/
monster.zip
/
monster
/
PCBOARD
/
EXPIRE21.ZIP
/
EXPIRED.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1994-01-21
|
10KB
|
383 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
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
;------------------------------------------------------------------------------
GetUser
STRING007 = "@X0AE@X02xpired @X092.10 @X0BBy @X0FT@X07he @X08Th@X07ril@X0Fl"
STRING003 = U_Name()
STRING011 = Date()
If (!Exist(PPEPath() + "expired.ans")) Gosub LABEL014
If (!Exist(PPEPath() + "expired.mnu")) Gosub LABEL015
Gosub LABEL004
INTEGER002 = U_ExpSec
If (CurSec() == INTEGER002) Then
Goto LABEL001
Endif
End
:LABEL001
If (Exist(PPEPath() + "expired.usr")) Goto LABEL002
FCreate 1, PPEPath() + "expired.usr", 1, 3
FPutLn 1, "User name Date EXPIRED.PPE ran"
FPutLn 1, "───────── ───────────────────-"
FPutLn 1, STRING003 + "," + STRING011
FClose 1
Goto LABEL003
:LABEL002
FAppend 1, PPEPath() + "expired.usr", 1, 3
FPutLn 1, STRING003 + "," + STRING011
FClose 1
:LABEL003
Goto LABEL005
:LABEL004
If (Exist(PPEPath() + "expired.cfg")) Then
FOpen 1, PPEPath() + "expired.cfg", 0, 0
FGet 1, STRING001
FGet 1, STRING002
FGet 1, STRING004
FGet 1, STRING005
FGet 1, STRING006
FGet 1, STRING014
FGet 1, INTEGER001
FGet 1, STRING012
FGet 1, STRING013
FGet 1, INTEGER003
FClose 1
Return
Else
Log " " + STRING007 + " Creating EXPIRED.CFG", 0
PrintLn "Configuration file EXPIRED.CFG missing, creating one!"
FCreate 1, PPEPath() + "expired.cfg", 1, 3
FPutLn 1, "Expired.ans"
FPutLn 1, "C:\PCB\GEN\BLT1"
FPutLn 1, "Subscrib.txt"
FPutLn 1, "Rules.TXT"
FPutLn 1, "C:\PCB\PPE\CREDIT\CREDIT.PPE"
FPutLn 1, "C:\PCB\PPE\TABS\TABS.PPE"
FPutLn 1, "5"
FPutLn 1, "N"
FPutLn 1, "7"
FPutLn 1, "Y"
FPutLn 1, "0"
FPutLn 1, "-----------------------------------------------------------"
FPutLn 1, "┌─────────────────────────────────────────────────────────┐"
FPutLn 1, "│Line 1: File showing expired information. │"
FPutLn 1, "│Line 2: Bulletin showing rates and subscription info. │"
FPutLn 1, "│Line 3: File you'd like your users to download first. │"
FPutLn 1, "│Line 4: Second file you'd like your users to download. │"
FPutLn 1, "│Line 5: Full name and path of a ppe to run. │"
FPutLn 1, "│Line 6: Full name and path of second ppe to run! │"
FPutLn 1, "│Line 7: Length of delay on screen 1 if any 1-99. │"
FPutLn 1, "│Line 8: Allow user to exit Expired.PPE to the BBS. │"
FPutLn 1, "│Line 9: Level given to expired users. │"
FPutLn 1, "│Line 10: Allow leaving message to the sysop. │"
FPutLn 1, "│Line 11: Conference to leave message to SYSOP. │"
FPutLn 1, "└─────────────────────────────────────────────────────────┘"
FClose 1
Endif
Return
:LABEL005
Log "■ Started " + STRING007, 0
DispFile PPEPath() + STRING001, 0
Delay INTEGER001 * 18.2
STRING008 = "Y"
Newline
DispStr STRING007
Newline
InputYN "@X0EWould you like to see your options (Y/n)", STRING008, 0
If (STRING008 == NoChar()) Then
Goto LABEL012
Else
Goto LABEL006
Endif
End
:LABEL006
Log " " + STRING007 + " Main Menu Viewed", 0
Cls
DispFile PPEPath() + "Expired.mnu", 0
Newline
STRING009 = ""
InputStr "@X0E(@X0C@MINLEFT@ @X0Amins left@X0E) Expired Level Command", STRING009, 0, 1, "TQRASBCtqrasbc", 2 + 128
If (STRING009 == "") Then
Goto LABEL006
Else
Select Case (Lower(STRING009))
Case "r"
DispFile STRING002, 0
Log "æ " + STRING007 + " User viewed rates.", 0
Goto LABEL006
Case "a"
Goto LABEL007
Case "b"
Goto LABEL008
Case "c"
Goto LABEL009
Case "s"
Goto LABEL011
Case "t"
Goto LABEL010
Case "q"
Goto LABEL012
Endif
End Select
End
:LABEL007
Log " " + STRING007 + " Downloaded " + STRING004, 0
Newline
STRING004 = Left(STRING004, 12)
Download STRING004
Goto LABEL006
End
:LABEL008
Log " " + STRING007 + " Downloaded " + STRING005, 0
STRING005 = Left(STRING005, 12)
Download STRING005
Goto LABEL006
End
:LABEL009
Log " " + STRING007 + " Exited to Credit.PPE", 0
Call STRING006
If (CurSec() <> INTEGER002) Then
End
Else
Goto LABEL006
Endif
:LABEL010
Log "■ " + STRING007 + " Exited to TABS.PPE", 0
Call STRING014
If (CurSec() <> INTEGER002) Then
End
Else
Goto LABEL006
Endif
:LABEL011
If (STRING013 == NoChar()) Then
Log "* " + STRING007 + " Tried to leave hate mail!", 0
Newline
PrintLn "Sorry " + STRING003 + " function is not available."
Goto LABEL006
Else
Log "Φ " + STRING007 + " Left Comment", 0
Gosub LABEL016
Endif
Goto LABEL006
:LABEL012
Log "≡ " + STRING007 + " Exited!", 0
If (STRING012 == NoChar()) Then
Newlines 2
DispStr "@X0AThanks for calling! @X0BWe hope you enjoyed your trial period!"
Bye
Goto LABEL013
Endif
:LABEL013
End
:LABEL014
Log " " + STRING007 + " Creating EXPIRED.ANS", 0
FCreate 1, PPEPath() + "expired.ans", 1, 3
FPutLn 1, "@CLS@@POFF@"
FPutLn 1, " @X7F┌───────────────────────────────────────────────────────────────────────────@X70┐@X07"
FPutLn 1, " @X7F│ @X74@USER@, @X71we're sorry to inform you that your trial period ended @X70@POS:78@│@X07"
FPutLn 1, " @X7F│ @X71on @EXPDATE@. Please take a look at our rate information. @X70@POS:78@│@X07"
FPutLn 1, " @X7F└@X70───────────────────────────────────────────────────────────────────────────┘@X07"
FPutLn 1, " @X7F┌──────────────────────────[@X74User Information@X7F]───────────────────────────────@X70┐@X07"
FPutLn 1, " @X7F│ @X7EName: @X71@USER@ @POS:78@@X70│@X07"
FPutLn 1, " @X7F│ @X7E Alias: @X74@ALIAS@ @POS:78@@X70│@X07"
FPutLn 1, " @X7F│ @X7EPhone: @X7A@HOMEPHONE@ (home) @POS:78@@X70│@X07"
FPutLn 1, " @X7F│ @X7EFiles D/L: @X75@DLFILES@ @POS:78@@X70│@X07"
FPutLn 1, " @X7F│ @X7EBytes D/L: @X70@DLBYTES@ @POS:78@@X70│@X07"
FPutLn 1, " @X7F│ @X7E Logged On: @XF1@NUMTIMESON@ @X71times @POS:78@@X70│@X07"
FPutLn 1, " @X7F└@X70───────────────────────────────────────────────────────────────────────────┘@X07"
FPutLn 1, " @X7F┌───────────────────────────────────────────────────────────────────────────@X70┐@X07"
FPutLn 1, " @X7F│ @X71As you can tell, you have taken full advantage of your free trial@POS:78@@X70│@X07"
FPutLn 1, " @X7F│ @X71period. We are sorry to have to resort to this, but without the help@POS:78@@X70│@X07"
FPutLn 1, " @X7F│ @X71of our users, the bbs cannot expand and it becomes harder to keep up @POS:78@@X70│@X07"
FPutLn 1, " @X7F│ @X71with the bills. Please take a moment and take a look at our rates. We@X70@POS:78@│@X07"
FPutLn 1, " @X7F│ @X71feel them to be very competitive and reasonable. @X70-The Sysop- @POS:78@@X70│@X07"
FPutLn 1, " @X7F└@X70───────────────────────────────────────────────────────────────────────────┘@X07"
FPutLn 1, ""
FPutLn 1, ""
FClose 1
Return
:LABEL015
Log "Ω " + STRING007 + " Creating EXPIRED.MNU", 0
FCreate 1, PPEPath() + "expired.mnu", 1, 3
FPutLn 1, "@CLS@"
FPutLn 1, ""
FPutLn 1, ""
FPutLn 1, " @X0AExpired User Main Menu"
FPutLn 1, " @X0F┌────────────────────────────────@X08┐"
FPutLn 1, " @X0F│ @X04(@X0EA@X04) @X0BDownload SUBSCRIB.TXT @X08│"
FPutLn 1, " @X0F│ @X04(@X0EB@X04) @X0BDownload RULES.TXT @X08│"
FPutLn 1, " @X0F│ @X04(@X0EC@X04) @X0BCharge Subscription @X08│"
FPutLn 1, " @X0F│ @X04(@X0ET@X04) @X0BEnter your TABS Code @X08│"
FPutLn 1, " @X0F│ @X04(@X0ER@X04) @X0BRate Information Bulletin @X08│"
FPutLn 1, " @X0F│ @X04(@X0ES@X04) @X0BSend Message to Sysop @X08│"
FPutLn 1, " @X0F│ @X04(@X0EQ@X04) @X0BQuit to BBS @X08│"
FPutLn 1, " @X0F└@X08────────────────────────────────┘@X07"
FPutLn 1, ""
FPutLn 1, ""
FClose 1
Return
:LABEL016
STRING015 = ""
Cls
PrintLn " @X08-@X07=@X0F≡@X0EThrill@X0CED @X09v1.0@X0F≡@X07=@X08-"
Newline
PrintLn "@X0AEnter your message below. Type @X0C(QUIT) @X0Aalone to EXIT."
PrintLn "@X04───────────────────────────────────────────────────────────────────────────────"
InputStr "@X0B", STRING015, 0, 70, Mask_Ascii(), 512 + 8192 + 64
If (STRING015 == Lower("quit")) Then
Newlines 2
PrintLn "@X0ADid you forget something?"
Newline
PrintLn "@X0CMessage Aborted!"
Wait
Log "* Dork changed his mind!", 0
Goto LABEL006
Goto LABEL017
Endif
:LABEL017
FCreate 1, PPEPath() + "temp.!!!", 1, 3
FPutLn 1, STRING015
:LABEL018
STRING015 = ""
InputStr "", STRING015, 0, 70, Mask_Ascii(), 512 + 8192 + 64
If (STRING015 == Lower("quit")) Then
Newline
STRING015 = ""
STRING010 = ""
InputStr "@X0ASave this comment", STRING010, 1, 1, "YNyn", 2
If (Lower(STRING010) == "n") Then
Newline
PrintLn "@X0CMessage Aborted..."
FClose 1
Delete PPEPath() + "temp.!!!"
Wait
Goto LABEL006
Goto LABEL019
Endif
:LABEL019
Newline
PrintLn "@X0ASaving comment to the sysop..."
FPutLn 1, STRING015
FClose 1
INTEGER003 = S2I(INTEGER003, 2)
Message 0, "SYSOP", U_Name(), "My Expired Level", "R", INTEGER003, 0, 0, PPEPath() + "temp.!!!"
Delete PPEPath() + "temp.!!!"
Goto LABEL006
Else
FPutLn 1, STRING015
Endif
Goto LABEL018
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 8 End
; 2 Cls
; 2 Wait
; 58 Goto
; 13 Let
; 9 PrintLn
; 21 If
; 3 DispFile
; 5 FCreate
; 1 FOpen
; 1 FAppend
; 8 FClose
; 10 FGet
; 69 FPutLn
; 1 GetUser
; 2 Delete
; 14 Log
; 4 InputStr
; 1 InputYN
; 4 Gosub
; 4 Return
; 1 Delay
; 10 Newline
; 2 Newlines
; 2 Call
; 1 Bye
; 2 DispStr
; 1 Message
; 2 Download
;
;
; ■ Functions used :
;
; 1 *
; 54 +
; 15 ==
; 2 <>
; 21 !
; 10 Lower()
; 2 Left()
; 1 Date()
; 2 U_Name()
; 3 NoChar()
; 2 Mask_Ascii()
; 16 PPEPath()
; 3 CurSec()
; 4 Exist()
; 1 S2I()
;
;------------------------------------------------------------------------------
;
; Analysis flags : C
;
; 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
;
; 0 For/Next
; 0 While/EndWhile
; 11 If/Then or If/Then/Else
; 1 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------