home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Carsten's PPE Collection
/
Carstens_PPE_Collection_2007.zip
/
T
/
TF!CHT20.ZIP
/
TF!CHAT.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1995-10-01
|
16KB
|
832 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
;------------------------------------------------------------------------------
Boolean BOOLEAN001
Boolean BOOLEAN002
Boolean BOOLEAN003
Boolean BOOLEAN004
Boolean BOOLEAN005
Boolean BOOLEAN006
Boolean BOOLEAN007
Boolean BOOLEAN008
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
Integer INTEGER005
Integer INTEGER006
Integer INTEGER007
Integer INTEGER008
Integer INTEGER009
Integer INTEGER010
Integer INTEGER011
Integer INTEGER012
Integer INTEGER013
Integer INTEGER014
Integer INTEGER015
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
String STRING016
String STRING017
String STRING018
;------------------------------------------------------------------------------
STRING018 = Chr(13) + Chr(10)
Tokenize ""
BOOLEAN008 = 0
STRING014 = "■ "
STRING015 = "≡ "
STRING016 = " "
STRING016 = "@X07 " + STRING016 + STRING016
STRING017 = "───────────────────────────────────────"
STRING017 = STRING017 + STRING017 + "─"
If (Exist(PPEPath() + "TF!CHAT.CFG")) Then
FOpen 1, PPEPath() + "TF!CHAT.CFG", 0, 0
FGet 1, STRING013
FGet 1, STRING007
BOOLEAN006 = 0
If (Mid(STRING007, 1, 1) == "1") BOOLEAN006 = 1
FGet 1, STRING007
BOOLEAN002 = 0
If (Mid(STRING007, 1, 1) == "1") BOOLEAN002 = 1
FGet 1, STRING007
INTEGER001 = 0
If (Mid(STRING007, 1, 1) == "1") INTEGER001 = 1
FGet 1, STRING007
BOOLEAN007 = 0
If (Mid(STRING007, 1, 1) == "1") BOOLEAN007 = 1
FGet 1, STRING005
FGet 1, STRING006
FGet 1, STRING010
FGet 1, STRING009
STRING009 = Mid(STRING009, 1, 1)
STRING011 = " " + STRING009
For INTEGER004 = 0 To 36
STRING011 = STRING011 + STRING009 + STRING009
Next
STRING011 = STRING011 + " "
FGet 1, STRING012
FGet 1, STRING002
FGet 1, STRING007
INTEGER003 = 1
If (Mid(STRING007, 1, 1) == "2") INTEGER003 = 2
If (Mid(STRING007, 1, 1) == "3") INTEGER003 = 3
If (Mid(STRING007, 1, 1) == "4") INTEGER003 = 4
If (Mid(STRING007, 1, 1) == "5") INTEGER003 = 5
FGet 1, STRING003
FGet 1, STRING004
FClose 1
Gosub LABEL039
If (!Exist(STRING003) && !(STRING003 == "")) Then
FOpen 1, STRING003, 2, 0
FPut 1, STRING018 + "LOG CREATED: " + String(Date()) + " / " + String(Time())
FPutLn 1, "." + STRING018
FClose 1
Endif
FAppend 1, STRING003, 2, 0
FPutLn 1, STRING017 + STRING018
FPutLn 1, "SYSOP CHAT ACTIVE; " + +String(Date()) + " / " + String(Time())
FPutLn 1, ""
FPutLn 1, "USER: " + U_Name() + " ON NODE #" + String(PcbNode()) + STRING018
If (((Upper(GrafMode()) == "N") || (Upper(GrafMode()) == "A")) && INTEGER001) Goto LABEL003
Gosub LABEL029
If (STRING002 == "") Goto LABEL001
For INTEGER004 = 1 To Len(STRING002)
STRING008 = Mid(STRING002, INTEGER004, 1)
If (STRING008 == "*") STRING008 = Chr(13)
Push INTEGER004
Gosub LABEL004
Pop INTEGER004
Next
:LABEL001
If (BOOLEAN001) Goto LABEL002
STRING008 = KInkey()
If (!(STRING008 == "")) Gosub LABEL004
STRING008 = MInkey()
If (!(STRING008 == "")) Gosub LABEL018
Goto LABEL001
:LABEL002
Goto LABEL041
:LABEL003
STRING008 = Chr(4)
Gosub LABEL004
Goto LABEL041
:LABEL004
If (Len(STRING008) > 1) Goto LABEL015
If (STRING008 > Chr(31)) Then
If (BOOLEAN005 == 1) Goto LABEL005
AnsiPos INTEGER005 + INTEGER007, INTEGER006 + INTEGER008
BOOLEAN005 = 1
If (BOOLEAN003) Then
If (!BOOLEAN004) Print STRING005
Goto LABEL005
Endif
If (BOOLEAN004) Print STRING006
:LABEL005
Print STRING008
If (BOOLEAN006) Print STRING012 + Chr(27) + "[D"
Inc INTEGER005
If (!(INTEGER005 > INTEGER002) && !(INTEGER005 > 73)) Goto LABEL006
If (INTEGER005 > INTEGER002) Then
If (InStr(STRING001, ScrText(INTEGER005 + INTEGER007 - 1, INTEGER006 + INTEGER008, 1, 0)) > 0) Then
Print " "
Gosub LABEL017
INTEGER005 = 0
Inc INTEGER006
If (INTEGER006 == 9) INTEGER006 = 0
AnsiPos INTEGER005 + INTEGER007, INTEGER006 + INTEGER008
Print STRING016
If (INTEGER006 < 8) Then
AnsiPos INTEGER005 + INTEGER007 - 1, INTEGER006 + INTEGER008 + 1
Print STRING010 + STRING011
Endif
AnsiPos INTEGER005 + INTEGER007, INTEGER006 + INTEGER008
BOOLEAN003 = 1
Print STRING005
If (BOOLEAN006) Print STRING012 + Chr(27) + "[D"
Endif
Endif
If (INTEGER005 > 73) Then
Print "-"
Gosub LABEL017
INTEGER005 = 0
Inc INTEGER006
If (INTEGER006 == 9) INTEGER006 = 0
AnsiPos INTEGER005 + INTEGER007, INTEGER006 + INTEGER008
Print STRING016
If (INTEGER006 < 8) Then
AnsiPos INTEGER005 + INTEGER007 - 1, INTEGER006 + INTEGER008 + 1
Print STRING010 + STRING011
Endif
AnsiPos INTEGER005 + INTEGER007, INTEGER006 + INTEGER008
BOOLEAN003 = 0
Print STRING006
If (BOOLEAN006) Print STRING012 + Chr(27) + "[D"
Endif
:LABEL006
If (!(InStr(STRING001, ScrText(INTEGER005 + INTEGER007 - 1, INTEGER006 + INTEGER008, 1, 0)) > 0) && BOOLEAN003) Then
Print STRING006
BOOLEAN003 = 0
Goto LABEL007
Endif
If ((InStr(STRING001, ScrText(INTEGER005 + INTEGER007 - 1, INTEGER006 + INTEGER008, 1, 0)) > 0) && !BOOLEAN003) Then
Print STRING005
BOOLEAN003 = 1
Endif
Endif
:LABEL007
If (STRING008 > Chr(31)) Return
If (STRING008 == Chr(27)) Then
If (!BOOLEAN005) AnsiPos INTEGER005 + INTEGER007, INTEGER006 + INTEGER008
Print " "
Gosub LABEL017
AnsiPos INTEGER009 + INTEGER011, INTEGER010 + INTEGER012
Print " "
Gosub LABEL028
BOOLEAN001 = 1
Endif
If (STRING008 == Chr(3)) Then
If (!BOOLEAN005) AnsiPos INTEGER005 + INTEGER007, INTEGER006 + INTEGER008
Print " "
Gosub LABEL017
Gosub LABEL035
Endif
If (STRING008 == Chr(4)) Then
If (!BOOLEAN005) AnsiPos INTEGER005 + INTEGER007, INTEGER006 + INTEGER008
Print " "
Gosub LABEL017
AnsiPos INTEGER009 + INTEGER011, INTEGER010 + INTEGER012
Print " "
Gosub LABEL028
PrintLn "@CLS@@PON@"
DispText 175, 0
PrintLn "@SYSTIME@" + STRING018
If (BOOLEAN008 == 1) FPutLn 1, ""
FPutLn 1, "SYSOP CHAT ENDED: " + +String(Date()) + " / " + String(Time())
FPutLn 1, ""
BOOLEAN007 = 0
PageOff
FClose 1
End
Endif
If (STRING008 == Chr(5)) Then
If (Exist(STRING004) && !(STRING004 == "")) Then
If (!BOOLEAN005) AnsiPos INTEGER005 + INTEGER007, INTEGER006 + INTEGER008
Print " "
Gosub LABEL017
AnsiPos INTEGER009 + INTEGER011, INTEGER010 + INTEGER012
Print " "
Gosub LABEL028
Call STRING004
Gosub LABEL039
Gosub LABEL029
Goto LABEL008
Endif
Print "@BEEP@"
Endif
:LABEL008
If (STRING008 == Chr(18)) Then
If (!BOOLEAN005) AnsiPos INTEGER005 + INTEGER007, INTEGER006 + INTEGER008
Print " "
Gosub LABEL017
AnsiPos INTEGER009 + INTEGER011, INTEGER010 + INTEGER012
Print " "
Gosub LABEL028
Gosub LABEL040
Endif
If (STRING008 == Chr(8)) Then
If (BOOLEAN005) Goto LABEL009
AnsiPos INTEGER005 + INTEGER007, INTEGER006 + INTEGER008
BOOLEAN005 = 1
If (BOOLEAN003) Then
If (!BOOLEAN004) Print STRING005
Goto LABEL009
Endif
If (BOOLEAN004) Print STRING006
:LABEL009
If (InStr(STRING001, ScrText(INTEGER005 + INTEGER007 - 2, INTEGER006 + INTEGER008, 1, 0)) > 0) Then
If (BOOLEAN003) Goto LABEL010
Print STRING005
BOOLEAN003 = 1
:LABEL010
Goto LABEL011
Endif
If (BOOLEAN003) Then
Print STRING006
BOOLEAN003 = 0
Endif
:LABEL011
If (INTEGER005 > 0) Then
INTEGER005 = INTEGER005 - 1
If (BOOLEAN006) Then
Print Chr(8) + STRING012 + " " + Chr(27) + "[2D"
Goto LABEL012
Endif
Print Chr(8) + " " + Chr(8)
:LABEL012
Goto LABEL013
Endif
Print STRING005
BOOLEAN003 = 1
Endif
:LABEL013
If ((STRING008 == Chr(13)) || (STRING008 == Chr(10))) Then
If (BOOLEAN005) Goto LABEL014
AnsiPos INTEGER005 + INTEGER007, INTEGER006 + INTEGER008
BOOLEAN005 = 1
If (BOOLEAN003) Then
If (!BOOLEAN004) Print STRING005
Goto LABEL014
Endif
If (BOOLEAN004) Print STRING006
:LABEL014
Print " "
Gosub LABEL017
INTEGER005 = 0
Inc INTEGER006
If (INTEGER006 == 9) INTEGER006 = 0
AnsiPos INTEGER005 + INTEGER007, INTEGER006 + INTEGER008
Print STRING016
If (INTEGER006 < 8) Then
AnsiPos INTEGER005 + INTEGER007 - 1, INTEGER006 + INTEGER008 + 1
Print STRING010 + STRING011
Endif
AnsiPos INTEGER005 + INTEGER007, INTEGER006 + INTEGER008
BOOLEAN003 = 1
Print STRING005
If (BOOLEAN006) Print STRING012 + Chr(27) + "[D"
Endif
Return
:LABEL015
If (STRING008 == "DOWN") Then
BOOLEAN007 = !BOOLEAN007
If (BOOLEAN007) Then
PageOn
Goto LABEL016
Endif
PageOff
Endif
:LABEL016
If ((STRING008 == "LEFT") || (STRING008 == "RIGHT")) Gosub LABEL029
Return
:LABEL017
INTEGER013 = GetX()
INTEGER014 = GetY()
If ((INTEGER005 > 0) && (BOOLEAN007 == 1)) Then
FPutLn 1, STRING014 + ScrText(3, INTEGER014, 78 - 80 - INTEGER013, 0)
BOOLEAN008 = 1
Endif
Return
:LABEL018
If (Len(STRING008) > 1) STRING008 = ""
If (STRING008 > Chr(31)) Then
If (BOOLEAN005 == 0) Goto LABEL019
AnsiPos INTEGER009 + INTEGER011, INTEGER010 + INTEGER012
BOOLEAN005 = 0
If (BOOLEAN004) Then
If (!BOOLEAN003) Print STRING005
Goto LABEL019
Endif
If (BOOLEAN003) Print STRING006
:LABEL019
Print STRING008
If (BOOLEAN006) Print STRING012 + Chr(27) + "[D"
Inc INTEGER009
If (!(INTEGER009 > INTEGER002) && !(INTEGER009 > 73)) Goto LABEL020
If (INTEGER009 > INTEGER002) Then
If (InStr(STRING001, ScrText(INTEGER009 + INTEGER011 - 1, INTEGER010 + INTEGER012, 1, 0)) > 0) Then
Print " "
Gosub LABEL028
INTEGER009 = 0
Inc INTEGER010
If (INTEGER010 == 9) INTEGER010 = 0
AnsiPos INTEGER009 + INTEGER011, INTEGER010 + INTEGER012
Print STRING016
If (INTEGER010 < 8) Then
AnsiPos INTEGER009 + INTEGER011 - 1, INTEGER010 + INTEGER012 + 1
Print STRING010 + STRING011
Endif
AnsiPos INTEGER009 + INTEGER011, INTEGER010 + INTEGER012
BOOLEAN004 = 1
Print STRING005
Print STRING012 + Chr(27) + "[D"
Endif
Endif
If (INTEGER009 > 73) Then
Print "-"
Gosub LABEL028
INTEGER009 = 0
Inc INTEGER010
If (INTEGER010 == 9) INTEGER010 = 0
AnsiPos INTEGER009 + INTEGER011, INTEGER010 + INTEGER012
Print STRING016
If (INTEGER010 < 8) Then
AnsiPos INTEGER009 + INTEGER011 - 1, INTEGER010 + INTEGER012 + 1
Print STRING010 + STRING011
Endif
AnsiPos INTEGER009 + INTEGER011, INTEGER010 + INTEGER012
BOOLEAN004 = 0
Print STRING006
Print STRING012 + Chr(27) + "[D"
Endif
:LABEL020
If (!(InStr(STRING001, ScrText(INTEGER009 + INTEGER011 - 1, INTEGER010 + INTEGER012, 1, 0)) > 0) && BOOLEAN004) Then
Print STRING006
BOOLEAN004 = 0
Goto LABEL021
Endif
If ((InStr(STRING001, ScrText(INTEGER009 + INTEGER011 - 1, INTEGER010 + INTEGER012, 1, 0)) > 0) && !BOOLEAN004) Then
Print STRING005
BOOLEAN004 = 1
Endif
Endif
:LABEL021
If (STRING008 > Chr(31)) Return
If ((STRING008 == Chr(27)) && (BOOLEAN002 == 1)) Then
If (BOOLEAN005) AnsiPos INTEGER009 + INTEGER011, INTEGER010 + INTEGER012
Print " "
Gosub LABEL028
AnsiPos INTEGER005 + INTEGER007, INTEGER006 + INTEGER008
Print " "
Gosub LABEL017
BOOLEAN001 = 1
AnsiPos INTEGER009 + INTEGER011, INTEGER010 + INTEGER012
Endif
If (STRING008 == Chr(3)) Gosub LABEL036
If (STRING008 == Chr(8)) Then
If (BOOLEAN005) Then
AnsiPos INTEGER009 + INTEGER011, INTEGER010 + INTEGER012
BOOLEAN005 = 0
If (BOOLEAN004) Then
If (!BOOLEAN003) Print STRING005
Goto LABEL022
Endif
If (BOOLEAN003) Print STRING006
Endif
:LABEL022
If (InStr(STRING001, ScrText(INTEGER009 + INTEGER011 - 2, INTEGER010 + INTEGER012, 1, 0)) > 0) Then
If (BOOLEAN004) Goto LABEL023
Print STRING005
BOOLEAN004 = 1
:LABEL023
Goto LABEL024
Endif
If (BOOLEAN004) Then
Print STRING006
BOOLEAN004 = 0
Endif
:LABEL024
If (INTEGER009 > 0) Then
INTEGER009 = INTEGER009 - 1
If (BOOLEAN006) Then
Print Chr(8) + STRING012 + " " + Chr(27) + "[2D"
Goto LABEL025
Endif
Print Chr(8) + " " + Chr(8)
:LABEL025
Goto LABEL026
Endif
Print STRING005
BOOLEAN004 = 1
Endif
:LABEL026
If ((STRING008 == Chr(13)) || (STRING008 == Chr(10))) Then
If (BOOLEAN005) Then
AnsiPos INTEGER009 + INTEGER011, INTEGER010 + INTEGER012
BOOLEAN005 = 0
If (BOOLEAN004) Then
If (!BOOLEAN003) Print STRING005
Goto LABEL027
Endif
If (BOOLEAN003) Print STRING006
Endif
:LABEL027
Print " "
Gosub LABEL028
INTEGER009 = 0
Inc INTEGER010
If (INTEGER010 == 9) INTEGER010 = 0
AnsiPos INTEGER009 + INTEGER011, INTEGER010 + INTEGER012
Print STRING016
If (INTEGER010 < 8) Then
AnsiPos INTEGER009 + INTEGER011 - 1, INTEGER010 + INTEGER012 + 1
Print STRING010 + STRING011
Endif
AnsiPos INTEGER009 + INTEGER011, INTEGER010 + INTEGER012
BOOLEAN004 = 1
Print STRING005
Print STRING012 + Chr(27) + "[D"
Endif
Return
:LABEL028
INTEGER013 = GetX()
INTEGER014 = GetY()
If ((INTEGER009 > 0) && (BOOLEAN007 == 1)) Then
FPutLn 1, STRING015 + ScrText(3, INTEGER014, 78 - 80 - INTEGER013, 0)
BOOLEAN008 = 1
Endif
Return
Endif
PrintLn "@BEEP@@X0D[@X0EError reading @X0FTF!CHAT.CFG@X0D]" + STRING018
Print "@WAIT@"
Goto LABEL041
:LABEL029
INTEGER015 = CurColor()
Print "H"
If (STRING008 == "LEFT") Dec INTEGER003
If (STRING008 == "RIGHT") Inc INTEGER003
If (INTEGER003 == 6) INTEGER003 = 1
If (INTEGER003 == 0) INTEGER003 = 5
If (INTEGER003 == 1) Gosub LABEL030
If (INTEGER003 == 2) Gosub LABEL031
If (INTEGER003 == 3) Gosub LABEL032
If (INTEGER003 == 4) Gosub LABEL033
If (INTEGER003 == 5) Gosub LABEL034
If ((INTEGER006 + INTEGER008 > 0) && (INTEGER006 + INTEGER008 < 9)) Then
AnsiPos 2, INTEGER006 + INTEGER008 + 1
Print STRING010 + STRING011
Endif
If ((INTEGER010 + INTEGER012 > 13) && (INTEGER010 + INTEGER012 < 22)) Then
AnsiPos 2, INTEGER010 + INTEGER012 + 1
Print STRING010 + STRING011
Endif
Gosub LABEL038
If (BOOLEAN006) Then
AnsiPos INTEGER009 + INTEGER011, INTEGER010 + INTEGER012
Print STRING005 + STRING012
Endif
AnsiPos INTEGER005 + INTEGER007, INTEGER006 + INTEGER008
BOOLEAN005 = 1
Color INTEGER015
If (BOOLEAN006) Print STRING012 + Chr(27) + "[D"
Return
:LABEL030
PrintLn "@X07@POFF@@X05┌─@X09─@X05─@X09──@X0D─@X09─@X0D──@X0F─@X0D─@X0F──@X0D─@X0F─@X0D──@X09─@X0D─@X09──@X05─@X09─@X05──@X08─@X05─@X08── ─ ∙ · "
PrintLn "│C "
PrintLn "|C "
PrintLn ":C·"
PrintLn "∙C∙"
PrintLn ":C:"
PrintLn "|C|"
PrintLn "│C│"
PrintLn "@X05│C│"
PrintLn "@X09│C│"
PrintLn "@X0D├@X09─@X05─@X08─∙· · ∙ ─ ──@X05─@X08─@X05──@X09─@X05─@X09──@X0D─@X09─@X0D─┬@X09─@X05─@X08─∙· · ∙ ─ ──@X05─@X08─@X05──@X09─@X05─@X09──@X0D─@X09─@X0D─┤"
PrintLn "│ @X07C @X0D│ @X07C @X0D│"
PrintLn "├─@X09─@X0D─@X09──@X05─@X09─@X05──@X08─@X05─@X08── ─ ∙ · ·∙─@X05─@X09─@X0D┴─@X09─@X0D─@X09──@X05─@X09─@X05──@X08─@X05─@X08── ─ ∙ ·@POS:74@·∙─@X05─@X09─@X0D┤"
PrintLn "@X09│C│"
PrintLn "@X05│C│"
PrintLn "@X08│C│"
PrintLn "|C|"
PrintLn ":C:"
PrintLn "∙C∙"
PrintLn "·C:"
PrintLn " C|"
PrintLn " C│"
Print " · ∙ ─ ──@X05─@X08─@X05──@X09─@X05─@X09──@X0D─@X09─@X0D──@X0F─@X0D─@X0F──@X0D─@X0F─@X0D──@X09─@X0D─@X09─@X0D──@X09─@X0D─@X09──@X05─@X09─@X05─┘"
Return
:LABEL031
PrintLn "@X07@POFF@@X0E┌──@X02─@X0E─@X02──@X08─@X02─@X08── ─ ∙ · · ∙ ─ ──@X02─@X08─@X02──@X0E─@X02─@X0E──┐"
PrintLn "@X02│C│"
PrintLn "@X08│C│"
PrintLn "|C|"
PrintLn ":C:"
PrintLn "∙C∙"
PrintLn "·C·"
PrintLn " C "
PrintLn " C "
PrintLn " C "
PrintLn "@X0E┌@X02─@X0E─@X02──@X08─@X02─@X08── ─ ∙ · · ∙ ─ ──@X02─@X08─@X02──@X0E─@X02─@X0E┬@X02─@X0E─@X02──@X08─@X02─@X08── ─ ∙ · · ∙ ─ ──@X02─@X08─@X02──@X0E─@X02─@X0E┐"
PrintLn "│ @X07C @X0E│ @X07C @X0E│"
PrintLn "└@X02─@X0E─@X02──@X08─@X02─@X08── ─ ∙ · · ∙ ─ ──@X02─@X08─@X02──@X0E─@X02─@X0E┴@X02─@X0E─@X02──@X08─@X02─@X08── ─ ∙ · · ∙ ─ ──@X02─@X08─@X02──@X0E─@X02─@X0E┘"
PrintLn " C "
PrintLn " C "
PrintLn " C "
PrintLn "@X08·C·"
PrintLn "∙C∙"
PrintLn ":C:"
PrintLn "|C|"
PrintLn "│C│"
PrintLn "@X02│C│"
Print "@X0E└──@X02─@X0E─@X02──@X08─@X02─@X08── ─ ∙ · · ∙ ─ ──@X02─@X08─@X02──@X0E─@X02─@X0E──┘"
Return
:LABEL032
PrintLn "@X0E┌──@X0C─@X0E──@X0C──@X0E─@X0C───@X04─@X0C──@X04──@X0C─@X04─── ── ─ ∙ · "
PrintLn "@X0C│C "
PrintLn "@X04│C "
PrintLn "|C "
PrintLn ":C·"
PrintLn "∙C∙"
PrintLn "·C:"
PrintLn " C|"
PrintLn " C│"
PrintLn " C@X0C│"
PrintLn "@X0E┌──@X0C─@X0E──@X0C──@X0E─@X0C───@X04─@X0C──@X04──@X0C─@X04─── ── ─ ∙ · ·∙─@X0C┬─@X04─@X0C─@X04── ─ ∙ · · ∙ ─ ──@X0C─@X04─@X0C──@X0E─@X0C─@X0E──┤"
PrintLn "│ @X07C @X0C│ @X07C @X0E│"
PrintLn "@X0E├──@X0C─@X0E─@X0C──@X04─@X0C─@X04── ─ ∙ · · ∙ ─ ──@X0C─@X04─@X0C─┴@X04─∙· · ∙ ─ ── ───@X0C─@X04──@X0C──@X04─@X0C───@X0E─@X0C──@X0E──@X0C─@X0E──┘"
PrintLn "@X0C│C "
PrintLn "@X04│C "
PrintLn "|C "
PrintLn ":C·"
PrintLn "∙C∙"
PrintLn "·C:"
PrintLn " C|"
PrintLn " C│"
PrintLn " C@X0C│"
Print " @X04· ∙ ─ ── ───@X0C─@X04──@X0C──@X04─@X0C───@X0E─@X0C──@X0E──@X0C─@X0E──┘"
Return
:LABEL033
PrintLn "@X09╔══@X01═@X09══@X01══@X09═@X01═══─══──═─── ── ─ ∙ · · ∙ ─ ── ───═──══─═══@X09═@X01══@X09══@X01═@X09══╗"
PrintLn "║C║"
PrintLn "@X01║C║"
PrintLn "│C│"
PrintLn "|C|"
PrintLn ":C:"
PrintLn "∙C∙"
PrintLn "·C·"
PrintLn " C "
PrintLn " C "
PrintLn " · ∙ ─ ── ───═──══─═══@X09═@X01══@X09══@X01═@X09══╦══@X01═@X09══@X01══@X09═@X01═══─══──═─── ── ─ ∙ · "
PrintLn " @X07C @X09║ @X07C@X01 "
PrintLn " · ∙ ─ ── ───═──══─═══@X09═@X01══@X09══@X01═@X09══╩══@X01═@X09══@X01══@X09═@X01═══─══──═─── ── ─ ∙ · "
PrintLn " C "
PrintLn " C "
PrintLn "·C·"
PrintLn "∙C∙"
PrintLn ":C:"
PrintLn "|C|"
PrintLn "│C│"
PrintLn "║C║"
PrintLn "@X09║C║"
Print "╚══@X01═@X09══@X01══@X09═@X01═══─══──═─── ── ─ ∙ · · ∙ ─ ── ───═──══─═══@X09═@X01══@X09══@X01═@X09══╝"
Return
:LABEL034
PrintLn "@X05 · ∙ ─ ── ───═─══─═══@X0D═@X05══@X0D══@X05═@X0D═══@X0E═@X0D══@X0E══@X0D═@X0E══╗"
PrintLn " C@X0D║"
PrintLn " C@X05║"
PrintLn "·C│"
PrintLn "∙C|"
PrintLn ":C:"
PrintLn "|C∙"
PrintLn "│C "
PrintLn "║C "
PrintLn "@X0D║C "
PrintLn "@X0E╠══@X0D═@X0E══@X0D══@X0E═@X0D═══@X05═@X0D══@X05══@X0D═@X05═══─══─═─── ── ─ ∙ · "
PrintLn "@X0E║ @X07C C "
PrintLn "@X0E╠══@X0D═@X0E══@X0D══@X0E═@X0D═══@X05═@X0D══@X05══@X0D═@X05═══─══─═─── ── ─ ∙ · "
PrintLn "@X0D║C "
PrintLn "@X05║C "
PrintLn "@X05│C·"
PrintLn "@X05|C∙"
PrintLn "@X05:C:"
PrintLn "@X05∙C|"
PrintLn "@X05·C│"
PrintLn "@X05 C║"
PrintLn "@X05 C@X0D║"
Print "@X0D @X05· ∙ ─ ── ───═─══─═══@X0D═@X05══@X0D══@X05═@X0D═══@X0E═@X0D══@X0E══@X0D═@X0E══╝@X07"
Return
:LABEL035
BOOLEAN005 = 1
BOOLEAN003 = 1
INTEGER005 = 0
INTEGER006 = 0
For INTEGER004 = 2 To 10
AnsiPos 2, INTEGER004
If (INTEGER004 == 3) Then
Print STRING010 + STRING011
Continue
Endif
Print " " + STRING016
Next
AnsiPos 3, 2
Print STRING005 + STRING012 + Chr(27) + "[D"
Return
:LABEL036
BOOLEAN005 = 0
BOOLEAN004 = 1
INTEGER009 = 0
INTEGER010 = 0
For INTEGER004 = 14 To 22
AnsiPos 2, INTEGER004
If (INTEGER004 == 15) Then
Print STRING010 + STRING011
Continue
Endif
Print " " + STRING016
Next
AnsiPos 3, 14
Print STRING005 + STRING012 + Chr(27) + "[D"
Return
:LABEL037
INTEGER005 = 0
INTEGER006 = 0
INTEGER009 = 0
INTEGER010 = 0
INTEGER007 = 3
INTEGER008 = 2
INTEGER011 = 3
INTEGER012 = 14
BOOLEAN003 = 1
BOOLEAN004 = 1
BOOLEAN005 = 1
Return
:LABEL038
AnsiPos 21 - Len(STRING013) / 2, 12
Print "@X0F" + STRING013
AnsiPos 60 - Len(U_Name()) / 2, 12
Print "@X0F" + U_Name()
Return
:LABEL039
Print "@X07@CLS@@POFF@"
If (BOOLEAN007 == 1) Then
PageOn
Else
PageOff
Endif
BOOLEAN005 = 1
BOOLEAN001 = 0
INTEGER002 = 60
STRING001 = "+-/\_=," + Chr(32) + Chr(255)
Gosub LABEL037
Print STRING005
GetUser
Return
:LABEL040
Print "@X07@CLS@@POFF@"
BOOLEAN005 = 1
BOOLEAN001 = 0
INTEGER002 = 60
STRING001 = "+-/\_=," + Chr(32) + Chr(255)
Print STRING005
Gosub LABEL037
Gosub LABEL029
Return
:LABEL041
If (BOOLEAN008 == 1) FPutLn 1, ""
FPutLn 1, "SYSOP CHAT ENDED: " + +String(Date()) + " / " + String(Time())
FPutLn 1, ""
FClose 1
PageOff
Print "@CLS@@PON@"
KbdStuff Chr(27)
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 1 End
; 1 Color
; 100 Goto
; 116 Let
; 96 Print
; 113 PrintLn
; 130 If
; 2 FOpen
; 1 FAppend
; 4 FClose
; 14 FGet
; 1 FPut
; 13 FPutLn
; 1 GetUser
; 38 Gosub
; 19 Return
; 9 Inc
; 1 Dec
; 1 Tokenize
; 1 DispText
; 1 Push
; 1 Pop
; 1 KbdStuff
; 1 Call
; 46 AnsiPos
; 2 PageOn
; 4 PageOff
;
;
; ■ Functions used :
;
; 3 +
; 2 /
; 199 +
; 22 -
; 57 ==
; 12 <
; 4 <=
; 28 >
; 8 >=
; 92 !
; 22 &&
; 8 ||
; 6 Len(
; 2 Upper()
; 10 Mid()
; 45 Chr()
; 8 InStr()
; 4 Date()
; 4 Time()
; 3 U_Name()
; 9 String()
; 2 PPEPath()
; 1 PcbNode()
; 3 Exist()
; 2 GetX()
; 2 GetY()
; 2 GrafMode()
; 1 CurColor()
; 1 KInkey()
; 1 MInkey()
; 10 ScrText()
;
;------------------------------------------------------------------------------
;
; 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
;
; 4 For/Next
; 0 While/EndWhile
; 57 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------