home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.wwiv.com
/
ftp.wwiv.com.zip
/
ftp.wwiv.com
/
pub
/
BBS
/
EUNION41.ZIP
/
UNION.PPE
(
.txt
)
< prev
Wrap
PCBoard Programming Language Executable
|
1994-08-14
|
7KB
|
308 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
Integer INTEGER010
String STRING001
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
String STRING007
;------------------------------------------------------------------------------
STRING007 = Chr(27) + "[20C"
GetUser
Cls
INTEGER001 = 210 / 3
INTEGER001 = INTEGER001 / 35
INTEGER001 = INTEGER001 * 5
If (Exist(PPEPath() + "EUNION.DAT")) Then
FOpen 1, PPEPath() + "EUNION.DAT", 2, 0
Else
FCreate 1, PPEPath() + "EUNION.DAT", 2, 0
INTEGER004 = 1
Endif
FAppend 5, PPEPath() + "EUNION." + String(PcbNode()), 2, 0
If (INTEGER001 == 0) INTEGER001 = 30
PrintLn "@X04EASTERN UNION SEND @X08- @X09Send time to another user!"
PrintLn "@X0ACopyright (c) 1994, Wiz-Ware Software '94 / Brett Lucey"
PrintLn ""
PrintLn "This first and only TIME TRANSFERRING SYSTEM!"
PrintLn ""
PrintLn ""
PrintLn "@X09This is an @X84UNREGISTERED@X09 copy!!!"
PrintLn ""
Delay 110
FPutLn 5, ""
FPutLn 5, ""
FPutLn 5, "User entered: " + U_Name()
DispFile PPEPath() + "EUNION.ANS", 1
PrintLn "@X0ARegistered for use by: @X09THE WIZARD'S BBS"
PrintLn "@X09Please wait... Checking for incoming wires to you..."
INTEGER009 = MinLeft()
AdjTime 2
INTEGER010 = MinLeft()
If (INTEGER009 == INTEGER010) Then
PrintLn "Because your time has been adjusted for an event, you cannot receive"
PrintLn "time."
FPutLn 5, "Event Time Adjustment has been done on user. Cannot receieve time."
AdjTime -2
ElseIf (INTEGER004 == 1) Then
PrintLn "No wires to you."
Else
:LABEL001
FGet 1, STRING003
FGet 1, STRING004
FGet 1, INTEGER006
If ((STRING003 == "") && (STRING005 == 0)) Then
PrintLn "No wires to you."
ElseIf (STRING003 == "") Then
PrintLn "Search Done. " + String(STRING005) + " wires in total."
PrintLn "Adding time... (" + String(STRING006) + " minutes)"
FPutLn 5, "Found " + String(STRING005) + " wires for " + U_Name() + " totaling " + String(STRING006) + " minutes."
AdjTime STRING006
Else
If (STRING003 == U_Name()) Then
PrintLn "Wire found: Sent By: " + STRING004 + " for " + String(INTEGER006) + " minutes."
FPutLn 5, "Wire found: Sent By: " + STRING004 + " for " + String(INTEGER006) + " minutes."
STRING005 = STRING005 + 1
STRING006 = STRING006 + INTEGER006
Endif
INTEGER007 = INTEGER007 + 1
Goto LABEL001
Endif
If (INTEGER007 == 0) Goto LABEL002
FCreate 4, PPEPath() + "TEMP." + String(PcbNode()), 2, 0
FClose 1
FOpen 1, PPEPath() + "EUNION.DAT", 2, 0
For INTEGER008 = 1 To INTEGER007
FGet 1, STRING003
FGet 1, STRING004
FGet 1, INTEGER006
If (Upper(STRING003) == Upper(U_Name())) Continue
FPutLn 4, STRING003
FPutLn 4, STRING004
FPutLn 4, INTEGER006
Next
FClose 1
FClose 4
Delete PPEPath() + "EUNION.DAT"
Shell 1, STRING002, "REN ", PPEPath() + "TEMP." + String(PcbNode()) + " EUNION.DAT"
Delete PPEPath() + "TEMP." + String(PcbNode())
Endif
:LABEL002
Input "@X09Which user would you like to wire time to (CR TO ABORT!)@X0B", STRING001
If (STRING001 == "") Then
PrintLn ""
PrintLn "See you later then!!"
Else
If (U_RecNum(Upper(STRING001)) == -1) Then
PrintLn ""
PrintLn "@X8AThat user does not exist! Did you make a typo?"
PrintLn ""
Goto LABEL002
Endif
PrintLn ""
:LABEL003
InputStr "How much time would you like to send to this user?", INTEGER002, 9, 2, "0123456789", 256
If (INTEGER002 == 0) Then
PrintLn "Eastern Union Transfer Aborted."
PrintLn "Come Back Soon!"
ElseIf (INTEGER002 < 0) Then
PrintLn "You can't use a negative number... DUH!!"
Else
If (INTEGER002 > INTEGER001) Then
PrintLn "The maximum transfer is limited to " + String(INTEGER001) + " minutes in this"
PrintLn "UNREGISTERED version. Tell yur sysop to register this!!"
Goto LABEL003
Endif
If (INTEGER002 > MinLeft() - 10) Then
PrintLn "You don't have enough time to transfer that much!!"
PrintLn "You must have at least 10 minutes after the transfer."
Goto LABEL003
Endif
PrintLn "Please wait.... Wiring Time!"
:LABEL004
Delay 5
PrintLn "@X07ATDT 1-508-481-4693"
Delay 10
INTEGER005 = Random(9)
If (INTEGER005 < 8) Then
Goto LABEL005
Endif
PrintLn "@X07<BUSY SIGNAL, REDIALING...>"
Delay 15
Goto LABEL004
:LABEL005
PrintLn "@X07<DETECTED RING>"
Delay 5
PrintLn "@X08Please wait... Establishing Connection."
Delay 100
PrintLn "@X07CONNECT 14400/ARQ/V32/LAPM/V42BIS"
Print "Progress [..|..|..|..|..|..|..|..|..|..]@X09"
Backup 30
For INTEGER003 = 1 To 29
Print "█"
Delay 5
Next
PrintLn ""
PrintLn "@X07NO CARRIER"
PrintLn ""
PrintLn ""
PrintLn "@X09Time Successfully Transfered!"
GetUser
Shell 1, STRING002, "COPY ", PPEPath() + "EUNION.ANS " + PPEPath() + "MSG1.USR"
FAppend 2, PPEPath() + "MSG1.USR", 1, 0
FPutLn 2, ""
FPutLn 2, STRING007 + "@X09TELEGRAM RECIEVER: @X07" + Upper(STRING001)
FPutLn 2, STRING007 + "@X09TELEGRAM SENDER: @X07" + U_Name()
FPutLn 2, ""
FPutLn 2, " @X09This telegram has been sent by the EASTERN UNION (r) Automated"
FPutLn 2, " telegram service to notify you that " + String(INTEGER002) + " minutes have been sent to you."
FPutLn 2, " In order to retrieve this time, you must come to your local Eastern Union"
FPutLn 2, " station by typing UNION. Thank you and have a nice day!"
FPutLn 2, ""
FPutLn 2, Chr(27) + "[40C@X08-@X07-{@X0FEastern Union@X07}-@X08-@X07"
FClose 2
FAppend 1, PPEPath() + "EUNION.DAT", 2, 0
FPutLn 1, Upper(STRING001)
FPutLn 1, Upper(U_Name())
FPutLn 1, INTEGER002
FClose 1
FPutLn 5, "User send " + String(INTEGER002) + " minutes to " + STRING001
Message 0, Upper(STRING001), U_Name(), "Eastern Union Time Transfer", "R", 0, 0, 0, PPEPath() + "MSG1.USR"
Message 0, U_Name(), "Eastern Union", "Thank You", "R", 0, 0, 0, PPEPath() + "MSG.DAT"
AdjTime -INTEGER002
Delete PPEPath() + "MSG1.USR"
Endif
Endif
Wait
PrintLn
PrintLn ""
PrintLn "@X0AThanks for checkin' out the latest Wiz-Ware product!"
PrintLn "To Get The Latest, See Us @"
PrintLn ""
PrintLn " @X09THE WIZARD'S BBS!"
PrintLn " [508]481-4693"
PrintLn ""
PrintLn " We can be reached at:"
PrintLn " WIZARDS.BBS@CHANNEL1.COM on the Internet"
PrintLn " CSERV#71331,743 on Compuserve"
PrintLn " Relay Net Site #5378"
PrintLn ""
PrintLn "@X07Please wait... Returning you to the @BOARDNAME@"
Wait
FPutLn 5, "User exited."
FClose 5
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 1 Cls
; 2 Wait
; 33 Goto
; 16 Let
; 2 Print
; 55 PrintLn
; 18 If
; 1 DispFile
; 1 Input
; 2 FCreate
; 2 FOpen
; 3 FAppend
; 6 FClose
; 6 FGet
; 24 FPutLn
; 2 GetUser
; 3 Delete
; 4 AdjTime
; 1 InputStr
; 7 Delay
; 2 Shell
; 1 Backup
; 2 Message
;
;
; ■ Functions used :
;
; 3 -
; 1 *
; 2 /
; 60 +
; 1 -
; 12 ==
; 4 <
; 2 <=
; 2 >
; 4 >=
; 15 !
; 5 &&
; 2 ||
; 7 Upper()
; 2 Chr()
; 1 Random()
; 8 U_Name()
; 13 String()
; 17 PPEPath()
; 4 PcbNode()
; 3 MinLeft()
; 1 Exist()
; 1 U_RecNum()
;
;------------------------------------------------------------------------------
;
; Analysis flags : AS
;
; A - Adjust online time remaining ■ 5
; Program modify the amount of online time remaining, this may
; be a way to bypass time limits
; ■ Search for : ADJTIME
;
; S - Shell to DOS ■ 5
; This may be normal if the PPE need to execute an external command,
; but may be actually anything... nasty (formating HD, rebooting,...)
; or usefull (sorting, maintenance,...). Check!
; ■ Search for : SHELL
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 2 For/Next
; 0 While/EndWhile
; 13 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------