home *** CD-ROM | disk | FTP | other *** search
/ Collection of Hack-Phreak Scene Programs / cleanhpvac.zip / cleanhpvac / PWAULTP3.ZIP / PWAPRGMS.A02 / PWA95 / PWAPCP01.ZIP / CHAT100 / CHAT.PPX < prev    next >
Text File  |  1995-09-03  |  11KB  |  390 lines

  1. ;------------------------------------------------------------------------------
  2. ; PPLX 1.3O                              (C)1995 - Lone Runner / AEGiS CoRP'95 
  3. ;------------------------------------------------------------------------------
  4. ; PPE 3.1O (crypted) - Analysis OFF
  5. ;------------------------------------------------------------------------------
  6.  
  7.     Declare Procedure PROC001()
  8.     Declare Procedure PROC002()
  9.     Declare Procedure PROC003()
  10.     Declare Procedure PROC004()
  11.     Boolean  BOOLEAN001
  12.     Int      INT001
  13.     Int      INT002
  14.     Int      INT003
  15.     Int      INT004
  16.     Int      INT005
  17.     Int      INT006
  18.     Int      INT007
  19.     Int      INT008
  20.     Int      INT009
  21.     DWord    DWORD001
  22.     String   STRING001
  23.     String   STRING002
  24.     String   TABLESTRING003(2)
  25.     String   TABLESTRING004(11)
  26.     String   TABLESTRING005(2)
  27.     String   TABLESTRING006(4)
  28.     String   STRING007
  29.     String   STRING008
  30.     String   STRING009
  31.  
  32. ;------------------------------------------------------------------------------
  33.  
  34.     Goto LABEL000
  35. :LABEL000
  36.     INT001 = 1
  37.     INT003 = 1
  38.     INT002 = 1
  39.     INT004 = 13
  40.     INT006 = 1
  41.     INT007 = 1
  42.     INT008 = 1
  43.     INT009 = 13
  44.     STRING008 = ReadLine(PcbDat(), 2)
  45.     STRING009 = ReadLine(PcbDat(), 94)
  46.     TABLESTRING006(1) = ReadLine(PpePath() + "CHAT.CFG", 1)
  47.     TABLESTRING006(2) = ReadLine(PpePath() + "CHAT.CFG", 2)
  48.     TABLESTRING006(3) = ReadLine(PpePath() + "CHAT.CFG", 3)
  49.     TABLESTRING006(4) = ReadLine(PpePath() + "CHAT.CFG", 4)
  50.     DWORD001 = ReadLine(PpePath() + "CHAT.CFG", 5)
  51.     TABLESTRING006(3) = ReplaceStr(TABLESTRING006(3), "%SYSOP%", TABLESTRING006(2))
  52.     TABLESTRING006(3) = ReplaceStr(TABLESTRING006(3), "%BBS%", TABLESTRING006(1))
  53.     TABLESTRING006(3) = ReplaceStr(TABLESTRING006(3), "~", " ")
  54.     STRING007 = "1.00"
  55.     If (!(Crc32(0, TABLESTRING006(1)) / 5 + 33 == DWORD001)) Goto LABEL001
  56.     BOOLEAN001 = 1
  57.     Goto LABEL002
  58. :LABEL001
  59.     BOOLEAN001 = 0
  60. :LABEL002
  61.     If (AnsiOn()) Goto LABEL003
  62.     Print TABLESTRING006(3)
  63.     End
  64. :LABEL003
  65.     SaveScrn
  66.     StartDisp 1
  67.     Cls
  68.     PROC002()
  69.     AnsiPos 1, 1
  70.     Print "@X0A" + TABLESTRING006(3)
  71.     INT001 = GetX()
  72.     INT003 = GetY()
  73. :LABEL005
  74.     If (!(STRING002 <> Chr(27))) Goto LABEL004
  75.     PROC001()
  76.     PROC003()
  77.     Goto LABEL005
  78. :LABEL004
  79.     Cls
  80.     PrintLn "@X0FCHAT.PPE Version ", STRING007, " Copyright (C) 1995 by Mukunda Modell"
  81.     If (!BOOLEAN001) Goto LABEL006
  82.     PrintLn "@X0CREGISTERED to:@X0F ",TABLESTRING006(1)," of ",TABLESTRING006(2) 
  83.     Goto LABEL007
  84. :LABEL006
  85.     Print ""
  86.     INT005 = 1
  87. :LABEL009
  88.     PrintLn "@X0CREGISTERED to:@X0F ",STRING008," of ",STRING009 
  89.     ;If (!(((1 < 0) && (INT005 >= 20)) || ((1 >= 0) && (INT005 <= 20)))) Goto LABEL008
  90.     ;Print "."
  91.     ;Delay 3
  92.     ;INT005 = INT005 + 1
  93.     ;Goto LABEL004
  94. :LABEL008
  95.     Print "@X0F"
  96. :LABEL007
  97.     Wait
  98.     RestScrn
  99.     KbdStuff Chr(27)
  100.     End
  101.  
  102. Procedure PROC001()
  103.  
  104.     STRING002 = ""
  105.     STRING001 = ""
  106. :LABEL011
  107.     If (!((STRING002 == "") && (STRING001 == ""))) Goto LABEL010
  108.     STRING002 = KInkey()
  109.     STRING001 = MInkey()
  110.     Goto LABEL011
  111. :LABEL010
  112.  
  113. EndProc
  114.  
  115.  
  116. Procedure PROC002()
  117.  
  118.     AnsiPos 1, 12
  119.     If (!BOOLEAN001) Goto LABEL012
  120.     PrintLn TABLESTRING006(4)
  121.     Goto LABEL013
  122. :LABEL012
  123.     ;PrintLn "@X09────────═══════════════════════════════════════════════════════════════────────@X0F"
  124.     PrintLn TABLESTRING006(4)
  125. :LABEL013
  126.     AnsiPos 1, 1
  127.  
  128. EndProc
  129.  
  130.  
  131. Procedure PROC003()
  132.  
  133.     If (!(STRING002 == "")) Goto LABEL014
  134.     Cls
  135.     Print "@X0A" + TABLESTRING006(3)
  136.     End
  137. :LABEL014
  138.     PROC004()
  139.     If (!((TABLESTRING005(1) <> "") || (TABLESTRING005(2) <> ""))) Goto LABEL015
  140.     AnsiPos INT001, INT003
  141.     Print "@X0A" + TABLESTRING005(1)
  142.     INT001 = GetX()
  143.     INT003 = GetY()
  144.     TABLESTRING005(1) = ""
  145.     AnsiPos INT002, INT004
  146.     Print "@X0F" + TABLESTRING005(2)
  147.     INT002 = GetX()
  148.     INT004 = GetY()
  149.     TABLESTRING005(2) = ""
  150. :LABEL015
  151.     If (!(STRING002 <> "")) Goto LABEL016
  152.     AnsiPos INT001, INT003
  153.     If ((CurColor() <> "@X0A")) Print "@X0A"
  154.     If (!((STRING002 == " ") && (GetX() == 1))) Goto LABEL017
  155.     TABLESTRING003(1) = ""
  156.     Goto LABEL018
  157. :LABEL017
  158.     If (!(STRING002 == " ")) Goto LABEL019
  159.     TABLESTRING003(1) = ""
  160.     Goto LABEL018
  161. :LABEL019
  162.     If (!(STRING002 == Chr(13))) Goto LABEL020
  163.     TABLESTRING003(1) = ""
  164.     INT006 = GetX()
  165.     INT007 = GetY()
  166.     If ((GetY() == 11)) INT007 = 10
  167.     Newline
  168.     STRING002 = ""
  169.     INT001 = GetX()
  170.     INT003 = GetY()
  171.     PROC004()
  172.     Goto LABEL018
  173. :LABEL020
  174.     If (!((INT001 == 1) && (STRING002 == Chr(8)))) Goto LABEL021
  175.     AnsiPos INT006, INT007
  176.     INT001 = INT006
  177.     INT003 = INT007
  178.     STRING002 = ""
  179.     Goto LABEL018
  180. :LABEL021
  181.     If (!(STRING002 == Chr(8))) Goto LABEL022
  182.     Backup 1
  183.     Print " "
  184.     Goto LABEL018
  185. :LABEL022
  186.     TABLESTRING003(1) = TABLESTRING003(1) + STRING002
  187. :LABEL018
  188.     If (!(INT001 == 79)) Goto LABEL023
  189.     INT001 = 1
  190.     Inc INT003
  191.     Backup Len(TABLESTRING003(1))
  192.     INT006 = GetX()
  193.     INT007 = GetY()
  194.     PrintLn Space(Len(TABLESTRING003(1)))
  195.     STRING002 = ""
  196.     TABLESTRING005(1) = TABLESTRING003(1)
  197.     INT001 = GetX()
  198.     INT003 = GetY()
  199. :LABEL023
  200.     AnsiPos INT001, INT003
  201.     Print STRING002
  202.     INT001 = GetX()
  203.     INT003 = GetY()
  204. :LABEL016
  205.     If (!(STRING001 <> "")) Goto LABEL024
  206.     AnsiPos INT002, INT004
  207.     If ((CurColor() <> "@X0F")) Print "@X0F"
  208.     If (!((STRING001 == " ") && (INT002 == 1))) Goto LABEL025
  209.     TABLESTRING003(2) = ""
  210.     Goto LABEL026
  211. :LABEL025
  212.     If (!(STRING001 == " ")) Goto LABEL027
  213.     TABLESTRING003(2) = ""
  214.     Goto LABEL026
  215. :LABEL027
  216.     If (!(STRING001 == Chr(13))) Goto LABEL028
  217.     TABLESTRING003(2) = ""
  218.     INT008 = GetX()
  219.     INT009 = GetY()
  220.     If ((GetY() == 22)) INT009 = 21
  221.     Newline
  222.     STRING001 = ""
  223.     INT002 = GetX()
  224.     INT004 = GetY()
  225.     PROC004()
  226.     Goto LABEL026
  227. :LABEL028
  228.     If (!((INT002 == 1) && (STRING001 == Chr(8)))) Goto LABEL029
  229.     AnsiPos INT008, INT009
  230.     INT002 = INT008
  231.     INT004 = INT009
  232.     STRING001 = ""
  233.     Goto LABEL026
  234. :LABEL029
  235.     If (!(STRING001 == Chr(8))) Goto LABEL030
  236.     Backup 1
  237.     Print " "
  238.     Goto LABEL026
  239. :LABEL030
  240.     TABLESTRING003(2) = TABLESTRING003(2) + STRING001
  241. :LABEL026
  242.     If (!(INT002 == 79)) Goto LABEL031
  243.     INT002 = 1
  244.     Inc INT004
  245.     Backup Len(TABLESTRING003(2))
  246.     INT008 = GetX()
  247.     INT009 = GetY()
  248.     PrintLn Space(Len(TABLESTRING003(2)))
  249.     STRING001 = ""
  250.     TABLESTRING005(2) = TABLESTRING003(2)
  251.     INT002 = GetX()
  252.     INT004 = GetY()
  253. :LABEL031
  254.     AnsiPos INT002, INT004
  255.     Print STRING001
  256.     INT002 = GetX()
  257.     INT004 = GetY()
  258. :LABEL024
  259.  
  260. EndProc
  261.  
  262.  
  263. Procedure PROC004()
  264.  
  265.     If (!(INT003 == 12)) Goto LABEL032
  266.     AnsiPos 1, 1
  267.     If ((CurColor() <> "@X0A")) Print "@X0A"
  268.     TABLESTRING004(1) = ScrText(1, 1, 79, 0)
  269.     TABLESTRING004(2) = ScrText(1, 2, 79, 0)
  270.     TABLESTRING004(3) = ScrText(1, 3, 79, 0)
  271.     TABLESTRING004(4) = ScrText(1, 4, 79, 0)
  272.     TABLESTRING004(5) = ScrText(1, 5, 79, 0)
  273.     TABLESTRING004(6) = ScrText(1, 6, 79, 0)
  274.     TABLESTRING004(7) = ScrText(1, 7, 79, 0)
  275.     TABLESTRING004(8) = ScrText(1, 8, 79, 0)
  276.     TABLESTRING004(9) = ScrText(1, 9, 79, 0)
  277.     TABLESTRING004(10) = ScrText(1, 10, 79, 0)
  278.     TABLESTRING004(11) = ScrText(1, 11, 79, 0)
  279.     INT005 = 1
  280. :LABEL034
  281.     If (!(((1 < 0) && (INT005 >= 11)) || ((1 >= 0) && (INT005 <= 11)))) Goto LABEL033
  282.     Print TABLESTRING004(INT005 + 1)
  283.     ClrEol
  284.     Newline
  285.     INT005 = INT005 + 1
  286.     Goto LABEL034
  287. :LABEL033
  288.     INT001 = 1
  289.     INT003 = 11
  290.     AnsiPos INT001, INT003
  291. :LABEL032
  292.     If (!(INT004 == 23)) Goto LABEL035
  293.     AnsiPos 1, 13
  294.     If ((CurColor() <> "@X0F")) Print "@X0F"
  295.     TABLESTRING004(1) = ScrText(1, 13, 79, 0)
  296.     TABLESTRING004(2) = ScrText(1, 14, 79, 0)
  297.     TABLESTRING004(3) = ScrText(1, 15, 79, 0)
  298.     TABLESTRING004(4) = ScrText(1, 16, 79, 0)
  299.     TABLESTRING004(5) = ScrText(1, 17, 79, 0)
  300.     TABLESTRING004(6) = ScrText(1, 18, 79, 0)
  301.     TABLESTRING004(7) = ScrText(1, 19, 79, 0)
  302.     TABLESTRING004(8) = ScrText(1, 20, 79, 0)
  303.     TABLESTRING004(9) = ScrText(1, 21, 79, 0)
  304.     TABLESTRING004(10) = ScrText(1, 22, 79, 0)
  305.     TABLESTRING004(11) = ScrText(1, 23, 79, 0)
  306.     INT005 = 1
  307. :LABEL037
  308.     If (!(((1 < 0) && (INT005 >= 10)) || ((1 >= 0) && (INT005 <= 10)))) Goto LABEL036
  309.     Print TABLESTRING004(INT005 + 1)
  310.     ClrEol
  311.     Newline
  312.     INT005 = INT005 + 1
  313.     Goto LABEL037
  314. :LABEL036
  315.     INT002 = 1
  316.     INT004 = 22
  317.     AnsiPos INT002, INT004
  318.     INT009 = 21
  319. :LABEL035
  320.  
  321. EndProc
  322.  
  323.  
  324. ;------------------------------------------------------------------------------
  325. ;
  326. ; Statements used :
  327. ;
  328. ;    3       End
  329. ;    3       Cls
  330. ;    2       ClrEol
  331. ;    1       Wait
  332. ;    46      Goto 
  333. ;    108     Let 
  334. ;    18      Print 
  335. ;    6       PrintLn 
  336. ;    33      If 
  337. ;    1       StartDisp 
  338. ;    1       Delay 
  339. ;    2       Inc 
  340. ;    4       Newline
  341. ;    1       KbdStuff 
  342. ;    15      AnsiPos 
  343. ;    4       Backup 
  344. ;    1       SaveScrn
  345. ;    1       RestScrn
  346. ;    4       EndProc
  347. ;
  348. ;
  349. ; Functions used :
  350. ;
  351. ;    1       /
  352. ;    17      +
  353. ;    24      ==
  354. ;    9       <>
  355. ;    3       <
  356. ;    3       <=
  357. ;    6       >=
  358. ;    27      !
  359. ;    11      &&
  360. ;    4       ||
  361. ;    4       Len(
  362. ;    2       Space()
  363. ;    8       Chr()
  364. ;    5       PpePath()
  365. ;    5       ReadLine()
  366. ;    1       AnsiOn()
  367. ;    14      GetX()
  368. ;    15      GetY()
  369. ;    4       CurColor()
  370. ;    1       KInkey()
  371. ;    1       MInkey()
  372. ;    22      ScrText()
  373. ;    3       ReplaceStr()
  374. ;    1       Crc32()
  375. ;
  376. ;-----------------------------------------------------------------------------;
  377. ; (C)1995 AEGiS CoRP       - Main Code by Lone Runner -      Parts by The doC ;
  378. ;-----------------------------------------------------------------------------;
  379. ;        ___________      _______________________        _____________        ;
  380. ;[=======\          \====/          /           /_____  /            /=======];
  381. ; ::::::::\  ______  \::/  \_____  /  _______  /______)/  \_______  /:::::::: ;
  382. ; ::kL!:::_\/    _/   \/   ___)__\/   \      \/        \_________ \/::::::::: ;
  383. ; ::::::::\     __     \_  \      \_   \_     \_        \_      /  \_:::::::: ;
  384. ;[=========\_____/______/__________/___________/_________/__________/========];
  385. ;                                                                             ;
  386. ;                      C          O          R          P                     ;
  387. ;-----------------------------------------------------------------------------;
  388. ;                        Dedicated to pure anarchists all around the world... ;
  389. ;-----------------------------------------------------------------------------;
  390.