home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #1 / monster.zip / monster / PCBOARD / GTOCBN10.ZIP / GTOCBN1.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1993-12-08  |  6KB  |  307 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 1.OO (plain) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     String   STRING001
  20.     String   STRING002
  21.     String   STRING003
  22.     String   STRING004
  23.     String   STRING005
  24.     String   STRING006
  25.     Time     TIME001
  26.  
  27. ;------------------------------------------------------------------------------
  28.  
  29.     STRING001 = ""
  30.     :LABEL001
  31.     Newline
  32.     Print "@X0ENode CHAT: (G)roup, (U)navailable, (H)elp, (Enter)=none? "
  33.     InputStr "_", STRING001, 7, 50, Mask_Ascii(), 4096 + 64
  34.     Tokenize STRING001
  35.     Select Case (Upper(STRING001))
  36.         Case "G"
  37.             :LABEL002
  38.             Newline
  39.             PrintLn "@X0BEnter channel number (1-255), (L)ist channels or (Q)uit chat? (@X071  @X0B)"
  40.             Newline
  41.             PrintLn "@X0FJoining Channel #1."
  42.             Newline
  43.             Goto LABEL004
  44.         Case "A"
  45.             Newline
  46.             PrintLn "@X0AAvailable for CHAT"
  47.             End
  48.         Case "U"
  49.             Newline
  50.             PrintLn "@X0AUnavailable for CHAT"
  51.             End
  52.         Case "H"
  53.             If (Exist(PPEPath() + "HELP1.ANS")) DispFile PPEPath() + "HELP1.ANS", 4 + 2 + 1
  54.             Goto LABEL001
  55.         Case "?"
  56.             If (Exist(PPEPath() + "HELP1.ANS")) DispFile PPEPath() + "HELP1.ANS", 4 + 2 + 1
  57.             Goto LABEL001
  58.     End Select
  59.     Newline
  60.     PrintLn "@X08C@X07B@X0FN@X07.@X08P@X07P@X0FE @X08v@X071.@X0Fo @X08Wr@X07it@X0Ften @X08b@X07y @X08V@X07o@X0Fc @X08[@X07G@X0FT@X07o@X08]"
  61.     End
  62.     :LABEL003
  63.     PrintLn ""
  64.     PrintLn "@X0F     @X08(@X07#@X08)   St@X07at@X0Fus                  @X08U@X07se@X0Fr"
  65.     PrintLn "@X0F     @X04─@X0C─@X04─   ────@X0C────@X07──@X0F─@X07──@X0C────@X04────   ─────@X0C─────@X07───@X0F───@X07───@X0C─────@X04─────"
  66.     PrintLn "@X04       @X0F1   Available for CHAT      @USER@ (@CITY@)"
  67.     PrintLn "@X0F       2   No Caller this Node"
  68.     PrintLn "@X0F       3   Transferring a File     @LASTCALLERSYSTEM@"
  69.     PrintLn "@X0F     @X04─@X0C─@X04─   ────@X0C────@X07──@X0F─@X07──@X0C────@X04────   ─────@X0C─────@X07───@X0F───@X07───@X0C─────@X04─────"
  70.     STRING002 = ""
  71.     Newline
  72.     Newline
  73.     :LABEL004
  74.     Print "@X0A(@X0C@TIMELEFT@ @X0Amin. left) (H)elp, Chat Command? "
  75.     InputStr "_", STRING002, 7, 50, Mask_Ascii(), 4096 + 64
  76.     Tokenize STRING002
  77.     Select Case (Upper(STRING002))
  78.         Case "WHO"
  79.             Goto LABEL003
  80.         Case "SHOW"
  81.             Goto LABEL003
  82.         Case "CALL"
  83.             Goto LABEL008
  84.         Case "X"
  85.             PrintLn "@X0FExpert Mode now on @FIRST@ . . ."
  86.             Newline
  87.             Goto LABEL004
  88.         Case "CHANNEL"
  89.             Goto LABEL002
  90.         Case "TOPIC"
  91.             PrintLn "@X0BTopic is unchangeable!"
  92.             Newline
  93.             Goto LABEL004
  94.         Case "PRIVATE"
  95.             PrintLn "@X0BChannel 1 cannot be made private."
  96.             Newline
  97.             Goto LABEL004
  98.         Case "MENU"
  99.             If (Exist(PPEPath() + "MENU.PCB")) DispFile PPEPath() + "MENU.PCB", 4 + 2 + 1
  100.             Goto LABEL004
  101.         Case "Q"
  102.             Newline
  103.             PrintLn "@X0FNode CHAT ended at @SYSTIME@"
  104.             Newline
  105.             PrintLn "@X08C@X07B@X0FN@X07.@X08P@X07P@X0FE @X08v@X071.@X0Fo @X08Wr@X07it@X0Ften @X08b@X07y @X08V@X07o@X0Fc @X08[@X07G@X0FT@X07o@X08]"
  106.             End
  107.         Case "SILENT"
  108.             PrintLn "@X0BSilent Mode is now on."
  109.             Newline
  110.             Goto LABEL004
  111.         Case "QUIT"
  112.             Newline
  113.             PrintLn "@X0FNode CHAT ended at @SYSTIME@"
  114.             Newline
  115.             PrintLn "@X08C@X07B@X0FN@X07.@X08P@X07P@X0FE @X08v@X071.@X0Fo @X08Wr@X07it@X0Ften @X08b@X07y @X08V@X07o@X0Fc @X08[@X07G@X0FT@X07o@X08]"
  116.             End
  117.         Case "BYE"
  118.             Hangup
  119.         Case "G"
  120.             STRING006 = ""
  121.             Newline
  122.             Print "@X07Proceed with Logoff? "
  123.             TIME001 = Time() + 10
  124.             While ((STRING006 == "") && (Time() < TIME001)) Do
  125.                 STRING006 = Inkey()
  126.             EndWhile
  127.             If (Upper(STRING006) == "Y") Then
  128.                 Hangup
  129.                 Goto LABEL005
  130.             Endif
  131.             :LABEL005
  132.             Newline
  133.             Newline
  134.             Goto LABEL004
  135.         Case "ECHO"
  136.             PrintLn "@X0BChat Echo enabled."
  137.             Newline
  138.             Goto LABEL004
  139.         Case "NOECHO"
  140.             PrintLn "@X0BChat Echo disabled.  Use the ECHO command to re-enable it."
  141.             Newline
  142.             Goto LABEL004
  143.         Case "MONITOR"
  144.             PrintLn "@X0BMonitor of public channels enabled."
  145.             Newline
  146.             Goto LABEL004
  147.         Case "PUBLIC"
  148.             PrintLn "@X0BThis channel is now public."
  149.             Newline
  150.             Goto LABEL004
  151.         Case "IGNORE"
  152.             Goto LABEL006
  153.         Case "H"
  154.             If (Exist(PPEPath() + "HELP2.ANS")) DispFile PPEPath() + "HELP2.ANS", 4 + 2 + 1
  155.             Goto LABEL004
  156.         Case "?"
  157.             If (Exist(PPEPath() + "HELP2.ANS")) DispFile PPEPath() + "HELP2.ANS", 4 + 2 + 1
  158.             Goto LABEL004
  159.         Case "SEND"
  160.             Goto LABEL007
  161.     End Select
  162.     Goto LABEL004
  163.     End
  164.     :LABEL006
  165.     STRING004 = ""
  166.     Newline
  167.     Print "@X0AEnter node (#) to ignore, (C)ancel or (W)ho? "
  168.     InputStr "_", STRING004, 7, 50, Mask_Ascii(), 4096 + 64
  169.     Tokenize STRING004
  170.     Select Case (Upper(STRING004))
  171.         Case "C"
  172.             Goto LABEL004
  173.         Case "W"
  174.             PrintLn ""
  175.             PrintLn "@X0F     @X08(@X07#@X08)   St@X07at@X0Fus                  @X08U@X07se@X0Fr"
  176.             PrintLn "@X0F     @X04─@X0C─@X04─   ────@X0C────@X07──@X0F─@X07──@X0C────@X04────   ─────@X0C─────@X07───@X0F───@X07───@X0C─────@X04─────"
  177.             PrintLn "@X04       @X0F1   Available for CHAT      @USER@ (@CITY@)"
  178.             PrintLn "@X0F       2   No Caller this Node"
  179.             PrintLn "@X0F       3   Transferring a File     @LASTCALLERSYSTEM@"
  180.             PrintLn "@X0F     @X04─@X0C─@X04─   ────@X0C────@X07──@X0F─@X07──@X0C────@X04────   ─────@X0C─────@X07───@X0F───@X07───@X0C─────@X04─────"
  181.             Goto LABEL006
  182.         Case "1"
  183.             PrintLn "@X0BSorry, @FIRST@, Node requested is not available for CHAT."
  184.             Goto LABEL006
  185.         Case "2"
  186.             PrintLn "@X0BSorry, @FIRST@, Node requested is not available for CHAT."
  187.             Goto LABEL006
  188.         Case "3"
  189.             PrintLn "@X0BSorry, @FIRST@, Node requested is not available for CHAT."
  190.             Goto LABEL006
  191.     End Select
  192.     Goto LABEL004
  193.     End
  194.     :LABEL007
  195.     STRING005 = ""
  196.     Newline
  197.     Print "@X0ASend send message to Node (#), (C)ancel or (S)how users? "
  198.     InputStr "_", STRING005, 7, 50, Mask_Ascii(), 4096 + 64
  199.     Tokenize STRING005
  200.     Select Case (Upper(STRING005))
  201.         Case "C"
  202.             Goto LABEL004
  203.         Case "S"
  204.             Newline
  205.             PrintLn "Channel 1: Open Discussion"
  206.             PrintLn "=========================="
  207.             PrintLn "(1) @FIRST@ * "
  208.             Goto LABEL007
  209.         Case "1"
  210.             PrintLn "@X0BSorry, @FIRST@, Node requested is not available for CHAT."
  211.             Goto LABEL007
  212.         Case "2"
  213.             PrintLn "@X0BSorry, @FIRST@, Node requested is not available for CHAT."
  214.             Goto LABEL007
  215.         Case "3"
  216.             PrintLn "@X0BSorry, @FIRST@, Node requested is not available for CHAT."
  217.             Goto LABEL007
  218.     End Select
  219.     Goto LABEL004
  220.     End
  221.     :LABEL008
  222.     PrintLn ""
  223.     PrintLn "@X0F     @X08(@X07#@X08)   St@X07at@X0Fus                  @X08U@X07se@X0Fr"
  224.     PrintLn "@X0F     @X04─@X0C─@X04─   ────@X0C────@X07──@X0F─@X07──@X0C────@X04────   ─────@X0C─────@X07───@X0F───@X07───@X0C─────@X04─────"
  225.     PrintLn "@X04       @X0F1   Available for CHAT      @USER@ (@CITY@)"
  226.     PrintLn "@X0F       2   No Caller this Node"
  227.     PrintLn "@X0F       3   Transferring a File     @LASTCALLERSYSTEM@"
  228.     PrintLn "@X0F     @X04─@X0C─@X04─   ────@X0C────@X07──@X0F─@X07──@X0C────@X04────   ─────@X0C─────@X07───@X0F───@X07───@X0C─────@X04─────"
  229.     :LABEL009
  230.     STRING003 = ""
  231.     Newline
  232.     Print "@X0AEnter the number of the node to CALL into chat? "
  233.     InputStr "_", STRING003, 7, 50, Mask_Ascii(), 4096 + 64
  234.     Tokenize STRING003
  235.     Select Case (Upper(STRING003))
  236.         Case "1"
  237.             PrintLn "@X0FSorry, @FIRST@, Node requested is not available for CHAT."
  238.             Goto LABEL009
  239.         Case "2"
  240.             PrintLn "@X0FSorry, @FIRST@, Node requested is not available for CHAT."
  241.             Goto LABEL009
  242.         Case "3"
  243.             PrintLn "@X0FSorry, @FIRST@, Node requested is not available for CHAT."
  244.             Goto LABEL009
  245.         Case "Q"
  246.             Newline
  247.             PrintLn "@X0FNode CHAT ended at @SYSTIME@"
  248.             End
  249.     End Select
  250.     Goto LABEL004
  251.     End
  252.  
  253. ;------------------------------------------------------------------------------
  254. ;
  255. ; Usage report (before postprocessing)
  256. ;
  257. ; ■ Statements used :
  258. ;
  259. ;    10      End
  260. ;    117     Goto 
  261. ;    8       Let 
  262. ;    6       Print 
  263. ;    51      PrintLn 
  264. ;    47      If 
  265. ;    5       DispFile 
  266. ;    2       Hangup
  267. ;    5       InputStr 
  268. ;    29      Newline
  269. ;    5       Tokenize 
  270. ;
  271. ;
  272. ; ■ Functions used :
  273. ;
  274. ;    26      +
  275. ;    42      ==
  276. ;    1       <
  277. ;    42      !
  278. ;    1       &&
  279. ;    41      Upper()
  280. ;    2       Time()
  281. ;    1       Inkey()
  282. ;    5       Mask_Ascii()
  283. ;    10      PPEPath()
  284. ;    5       Exist()
  285. ;
  286. ;------------------------------------------------------------------------------
  287. ;
  288. ; Analysis flags : B
  289. ;
  290. ; B - Brute hangup ■ 1
  291. ;     Program hangup without notification. This may be a good way to
  292. ;     disconnect a user, but if used randomly, may be very nasty
  293. ;     ■ Search for : HANGUP, DTROFF
  294. ;
  295. ;------------------------------------------------------------------------------
  296. ;
  297. ; Postprocessing report
  298. ;
  299. ;    0       For/Next
  300. ;    1       While/EndWhile
  301. ;    1       If/Then or If/Then/Else
  302. ;    5       Select Case
  303. ;
  304. ;------------------------------------------------------------------------------
  305. ;                 AEGiS Corp - Break the routines, code against the machines!
  306. ;------------------------------------------------------------------------------
  307.