home *** CD-ROM | disk | FTP | other *** search
- ;------------------------------------------------------------------------------
- ; .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
- Integer INTEGER001
- Integer INTEGER002
- Integer INTEGER003
- Integer INTEGER004
- Integer INTEGER005
- Integer INTEGER006
- Integer INTEGER007
- Integer INTEGER008
- Integer INTEGER009
- Integer INTEGER010
- Integer INTEGER011
- 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
- String STRING019
-
- ;------------------------------------------------------------------------------
-
- SaveScrn
- GetUser
- PageOff
- STRING006 = Chr(86) + Chr(105) + Chr(71) + Chr(105) + Chr(108) + Chr(97) + Chr(110) + Chr(116) + Chr(101)
- STRING005 = "─────────────────────────────────────────────────────────────────────────────"
- STRING011 = ReadLine(PPEPath() + "schat.cnf", 1)
- STRING012 = ReadLine(PPEPath() + "schat.cnf", 2)
- STRING013 = ReadLine(PPEPath() + "schat.cnf", 3)
- Sound 0
- STRING016 = "@X08@X07@X0F"
- STRING017 = "─────── Super Split Screen Chat PPE v1.0 by " + STRING006 + " ── Reg by CCC'94 ───────@X00"
- INTEGER007 = Time()
- STRING018 = Chr(64) + Chr(88) + Chr(48) + Chr(67) + Chr(32) + Chr(60) + Chr(85) + Chr(110) + Chr(114) + Chr(101) + Chr(103) + Chr(105) + Chr(115) + Chr(116) + Chr(101) + Chr(114) + Chr(101) + Chr(100) + Chr(62) + Chr(32)
- INTEGER010 = 1
- INTEGER011 = ReadLine(PPEPath() + "schat.cnf", 7)
- STRING019 = Lower(ReadLine(PCBDat(), 2)) + Lower(ReadLine(PCBDat(), 94))
- For INTEGER005 = 1 To Len(STRING019) Step 3
- INTEGER010 = Left(INTEGER010 * Asc(Mid(STRING019, INTEGER005, 1)), 6)
- Next
- If (INTEGER010 <> INTEGER011) Then
- BOOLEAN003 = 1
- Endif
- If (Exist(PPEPath() + "chatlog." + String(PcbNode()))) Then
- FAppend 1, PPEPath() + "chatlog." + String(PcbNode()), 1, 3
- FPutLn 1, STRING005
- Else
- FCreate 1, PPEPath() + "chatlog." + String(PcbNode()), 1, 3
- Endif
- FPutLn 1, "Chat initiated with " + U_Name() + " on " + String(Date()) + " at " + String(Time())
- FPutLn 1
- Cls
- For INTEGER005 = 1 To 9 Step 4
- AnsiPos 1, 12
- Print Mid(STRING016, INTEGER005, 4) + STRING017
- Delay 4
- Next
- :LABEL001
- INTEGER001 = 1
- INTEGER002 = 3
- INTEGER003 = 1
- INTEGER004 = 13
- STRING007 = ""
- STRING008 = ""
- BOOLEAN001 = 0
- If (Lower(ReadLine(PPEPath() + "schat.cnf", 5)) == "top") Then
- STRING014 = ""
- STRING015 = ""
- Else
- STRING015 = ""
- STRING014 = ""
- Endif
- Print "@POFF@" + STRING013
- Cls
- If ((!Exist(PPEPath() + "schat.top") || !Exist(PPEPath() + "schat.bot")) || !Exist(PPEPath() + "schat.mid")) Then
- PrintLn STRING011 + "┌──────────────┤ " + STRING012 + "Super Split Screen Chat PPE v1.0 " + STRING013 + "by " + STRING012 + STRING006 + STRING011 + " ├──────────────┐"
- Print "└" + STRING005 + "┘"
- Newlines 10
- Print "──" + STRING005
- Newlines 10
- PrintLn "┌" + STRING005 + "┐"
- Print "└──────────┤ (" + STRING012 + "Ctrl" + STRING011 + ") " + STRING013 + "+ " + STRING011 + "(" + STRING012 + "C" + STRING011 + ")" + STRING013 + "olor, " + STRING011 + "(" + STRING012 + "R" + STRING011 + ")" + STRING013 + "edraw, "
- Print STRING011 + "(" + STRING012 + "T" + STRING011 + ")" + STRING013 + "ype, or " + STRING011 + "(" + STRING012 + "Esc" + STRING011 + ")" + STRING013 + " to Quit" + STRING011 + " ├───────────┘"
- Else
- PrintLn ReadLine(PPEPath() + "schat.top", 1)
- Print ReadLine(PPEPath() + "schat.top", 2)
- Newlines 10
- Print ReadLine(PPEPath() + "schat.mid", 1)
- Newlines 10
- PrintLn ReadLine(PPEPath() + "schat.bot", 1)
- Print ReadLine(PPEPath() + "schat.bot", 2)
- Endif
- AnsiPos 6, 12
- Print STRING013 + " " + STRING014 + " " + STRING012 + ReadLine(PCBDat(), 2) + STRING013 + " " + STRING014 + " "
- AnsiPos 69 - Len(U_Name()), 12
- Print STRING013 + " " + STRING015 + " " + STRING012
- Tokenize U_Name()
- While (TokCount() > 0) Do
- STRING003 = GetToken()
- Print Left(STRING003, 1) + Lower(Right(STRING003, Len(STRING003) - 1)) + " "
- EndWhile
- Print STRING013 + STRING015 + " "
- AnsiPos 32, 12
- If (!BOOLEAN003) Print STRING018 + STRING013
- AnsiPos INTEGER001, INTEGER002
- If (Lower(ReadLine(PPEPath() + "schat.cnf", 5)) == "top") Then
- :LABEL002
- If (BOOLEAN002) Goto LABEL003
- STRING002 = KInkey()
- STRING001 = MInkey()
- If (STRING002 <> "") Gosub LABEL006
- If (STRING001 <> "") Gosub LABEL009
- Goto LABEL002
- :LABEL003
- Else
- :LABEL004
- If (BOOLEAN002) Goto LABEL005
- STRING001 = KInkey()
- STRING002 = MInkey()
- If (STRING002 <> "") Gosub LABEL006
- If (STRING001 <> "") Gosub LABEL009
- Goto LABEL004
- Endif
- :LABEL005
- If (STRING007 <> "") FPutLn 1, STRING007
- If (STRING008 <> "") FPutLn 1, "-" + STRING008
- FClose 1
- Cls
- For INTEGER005 = 9 To 1 Step -4
- AnsiPos 1, 12
- Print Mid(STRING016, INTEGER005, 4) + STRING017
- Delay 4
- Next
- RestScrn
- If (Lower(ReadLine(PPEPath() + "schat.cnf", 4)) <> "yes") Delete PPEPath() + "chatlog." + String(PcbNode())
- If (Lower(ReadLine(PPEPath() + "schat.cnf", 6)) == "yes") Then
- INTEGER008 = Time()
- INTEGER009 = (INTEGER008 - INTEGER007) / 60
- If (INTEGER009 < 0) INTEGER009 = INTEGER009 + 86400
- AdjTime INTEGER009
- Endif
- KbdStuff Chr(27)
- End
- :LABEL006
- If (Asc(STRING002) < 32) Then
- Select Case (STRING002)
- Case Chr(3)
- BOOLEAN001 = !BOOLEAN001
- Print STRING013
- Case Chr(7)
- Beep
- Case Chr(8), 1
- STRING007 = Left(STRING007, Len(STRING007) - 1)
- AnsiPos INTEGER001, INTEGER002
- Print Chr(8) + " " + Chr(8)
- Dec INTEGER001
- Case Chr(13)
- INTEGER001 = 1
- Inc INTEGER002
- If (INTEGER002 > 11) Then
- Gosub LABEL012
- INTEGER001 = 1
- If (STRING007 <> "") Inc INTEGER002
- Endif
- AnsiPos INTEGER001, INTEGER002
- If (STRING007 <> "") FPutLn 1, STRING007
- STRING007 = ""
- Case Chr(18)
- Goto LABEL001
- Case Chr(20), "top"
- Gosub LABEL014
- Case Chr(27)
- BOOLEAN002 = 1
- End Select
- Else
- STRING007 = STRING007 + STRING002
- AnsiPos INTEGER001, INTEGER002
- If (BOOLEAN001) Color Random(14) + 1
- Print STRING002
- Inc INTEGER001
- If (INTEGER001 == 80) Then
- INTEGER006 = 79
- While (INTEGER006 > 0) Do
- If (Mid(STRING007, INTEGER006, 1) == " ") Then
- INTEGER001 = 1
- If (INTEGER002 == 11) Then
- Gosub LABEL012
- INTEGER001 = 1
- Inc INTEGER002
- Goto LABEL007
- Endif
- Inc INTEGER002
- :LABEL007
- AnsiPos INTEGER006, INTEGER002 - 1
- ClrEol
- AnsiPos INTEGER001, INTEGER002
- STRING009 = Right(STRING007, 79 - INTEGER006)
- FPutLn 1, Left(STRING007, INTEGER006)
- If (BOOLEAN001) Then
- For INTEGER005 = 1 To Len(STRING009)
- Color Random(14) + 1
- Print Mid(STRING009, INTEGER005, 1)
- Next
- Goto LABEL008
- Endif
- Print STRING009
- :LABEL008
- INTEGER001 = 80 - INTEGER006
- INTEGER006 = 0
- Continue
- Endif
- Dec INTEGER006
- If (INTEGER006 == 0) Then
- INTEGER001 = 1
- Inc INTEGER002
- If (INTEGER002 > 11) Then
- Gosub LABEL012
- INTEGER001 = 1
- Inc INTEGER002
- Endif
- AnsiPos INTEGER001, INTEGER002
- STRING009 = ""
- FPutLn 1, STRING007
- Endif
- EndWhile
- STRING007 = STRING009
- Endif
- Endif
- Return
- :LABEL009
- If (Asc(STRING001) < 32) Then
- Select Case (STRING001)
- Case Chr(3)
- BOOLEAN001 = !BOOLEAN001
- Print STRING013
- Case Chr(7)
- Beep
- Case Chr(8), 1
- STRING008 = Left(STRING008, Len(STRING008) - 1)
- AnsiPos INTEGER003, INTEGER004
- Print Chr(8) + " " + Chr(8)
- Dec INTEGER003
- Case Chr(13)
- INTEGER003 = 1
- Inc INTEGER004
- If (INTEGER004 > 21) Then
- Gosub LABEL013
- INTEGER003 = 1
- If (STRING008 <> "") Inc INTEGER004
- Endif
- AnsiPos INTEGER003, INTEGER004
- If (STRING008 <> "") FPutLn 1, "-" + STRING008
- STRING008 = ""
- Case Chr(18)
- Goto LABEL001
- Case Chr(20), "bottom"
- Gosub LABEL014
- Case Chr(27)
- BOOLEAN002 = 1
- End Select
- Else
- STRING008 = STRING008 + STRING001
- AnsiPos INTEGER003, INTEGER004
- If (BOOLEAN001) Color Random(14) + 1
- Print STRING001
- Inc INTEGER003
- If (INTEGER003 == 80) Then
- INTEGER006 = 79
- While (INTEGER006 > 0) Do
- If (Mid(STRING008, INTEGER006, 1) == " ") Then
- INTEGER003 = 1
- If (INTEGER004 == 21) Then
- Gosub LABEL013
- INTEGER003 = 1
- Inc INTEGER004
- Goto LABEL010
- Endif
- Inc INTEGER004
- :LABEL010
- AnsiPos INTEGER006, INTEGER004 - 1
- ClrEol
- AnsiPos INTEGER003, INTEGER004
- STRING010 = Right(STRING008, 79 - INTEGER006)
- FPutLn 1, "-" + Left(STRING008, INTEGER006)
- If (BOOLEAN001) Then
- For INTEGER005 = 1 To Len(STRING010)
- Color Random(14) + 1
- Print Mid(STRING010, INTEGER005, 1)
- Next
- Goto LABEL011
- Endif
- Print STRING010
- :LABEL011
- INTEGER003 = 80 - INTEGER006
- INTEGER006 = 0
- Continue
- Endif
- Dec INTEGER006
- If (INTEGER006 == 0) Then
- INTEGER003 = 1
- Inc INTEGER004
- If (INTEGER004 > 21) Then
- Gosub LABEL013
- INTEGER003 = 1
- Inc INTEGER004
- Endif
- AnsiPos INTEGER003, INTEGER004
- STRING010 = ""
- FPutLn 1, "-" + Left(STRING008, Len(STRING008) - 1)
- Endif
- EndWhile
- STRING008 = STRING010
- Endif
- Endif
- Return
- :LABEL012
- Print STRING013
- For INTEGER005 = 3 To 11
- AnsiPos 1, INTEGER005
- ClrEol
- Next
- AnsiPos 1, 3
- If (BOOLEAN001) Then
- For INTEGER005 = 1 To Len(STRING007)
- Color Random(14) + 1
- Print Mid(STRING007, INTEGER005, 1)
- Next
- Else
- Print STRING007
- Endif
- INTEGER001 = GetX()
- INTEGER002 = GetY()
- AnsiPos INTEGER001, INTEGER002
- Return
- :LABEL013
- Print STRING013
- For INTEGER005 = 13 To 21
- AnsiPos 1, INTEGER005
- ClrEol
- Next
- AnsiPos 1, 13
- If (BOOLEAN001) Then
- For INTEGER005 = 1 To Len(STRING008)
- Color Random(14) + 1
- Print Mid(STRING008, INTEGER005, 1)
- Next
- Else
- Print STRING008
- Endif
- INTEGER003 = GetX()
- INTEGER004 = GetY()
- AnsiPos INTEGER003, INTEGER004
- Return
- :LABEL014
- AnsiPos 79, 23
- SaveScrn
- AnsiPos 11, 6
- PrintLn STRING011 + "┌" + Left(STRING005, 58) + "┐"
- AnsiPos 11, 7
- PrintLn "│" + STRING013 + " " + STRING011 + "│"
- AnsiPos 11, 8
- PrintLn "└" + Left(STRING005, 58) + "┘"
- AnsiPos 13, 7
- Print STRING013 + "File: "
- STRING003 = ""
- STRING004 = ""
- INTEGER005 = 0
- While (STRING003 <> Chr(13)) Do
- STRING003 = KInkey()
- If (STRING003 <> Chr(13)) Then
- If ((STRING003 == Chr(8)) && (INTEGER005 > 0)) Then
- Print Chr(8) + " " + Chr(8)
- Dec INTEGER005
- STRING004 = Left(STRING004, Len(STRING004) - 1)
- Continue
- Endif
- If ((Asc(STRING003) > 32) && (INTEGER005 < 50)) Then
- STRING004 = STRING004 + STRING003
- Print STRING003
- Inc INTEGER005
- Endif
- Endif
- EndWhile
- If (Exist(STRING004)) Then
- Print "@CLS@@POFF@"
- DispFile STRING004, 0
- Newline
- Print "@WAIT@"
- Endif
- RestScrn
- AnsiPos INTEGER001, INTEGER002
- Return
-
- ;------------------------------------------------------------------------------
- ;
- ; Usage report (before postprocessing)
- ;
- ; ■ Statements used :
- ;
- ; 1 End
- ; 3 Cls
- ; 4 ClrEol
- ; 6 Color
- ; 101 Goto
- ; 95 Let
- ; 36 Print
- ; 7 PrintLn
- ; 72 If
- ; 1 DispFile
- ; 1 FCreate
- ; 1 FAppend
- ; 1 FClose
- ; 11 FPutLn
- ; 1 GetUser
- ; 1 Delete
- ; 1 AdjTime
- ; 12 Gosub
- ; 5 Return
- ; 2 Delay
- ; 15 Inc
- ; 5 Dec
- ; 1 Newline
- ; 4 Newlines
- ; 1 Tokenize
- ; 2 Beep
- ; 1 KbdStuff
- ; 30 AnsiPos
- ; 2 SaveScrn
- ; 2 RestScrn
- ; 1 Sound
- ; 1 PageOff
- ;
- ;
- ; ■ Functions used :
- ;
- ; 3 -
- ; 1 *
- ; 1 /
- ; 174 +
- ; 13 -
- ; 28 ==
- ; 14 <>
- ; 13 <
- ; 9 <=
- ; 11 >
- ; 18 >=
- ; 63 !
- ; 24 &&
- ; 11 ||
- ; 16 Len(
- ; 9 Lower()
- ; 9 Mid()
- ; 10 Left()
- ; 3 Right()
- ; 53 Chr()
- ; 4 Asc()
- ; 6 Random()
- ; 1 Date()
- ; 3 Time()
- ; 3 U_Name()
- ; 6 String()
- ; 3 PCBDat()
- ; 22 PPEPath()
- ; 4 PcbNode()
- ; 18 ReadLine()
- ; 1 GetToken()
- ; 5 Exist()
- ; 2 GetX()
- ; 2 GetY()
- ; 3 KInkey()
- ; 2 MInkey()
- ; 1 TokCount()
- ;
- ;------------------------------------------------------------------------------
- ;
- ; Analysis flags : Ad
- ;
- ; 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
- ;
- ; d - Access PCBOARD.DAT ■ 2
- ; Program gets the full pathname to PCBOARD.DAT, this may be usefull
- ; for many PPE so they can find various informations on the system
- ; (system paths, max number of lines in messages, ...) but it may also
- ; be a way to gather vital informations.
- ; ■ Search for : PCBDAT()
- ;
- ;------------------------------------------------------------------------------
- ;
- ; Postprocessing report
- ;
- ; 9 For/Next
- ; 4 While/EndWhile
- ; 28 If/Then or If/Then/Else
- ; 2 Select Case
- ;
- ;------------------------------------------------------------------------------
- ; AEGiS Corp - Break the routines, code against the machines!
- ;------------------------------------------------------------------------------
-