home *** CD-ROM | disk | FTP | other *** search
/ The Pier Shareware 6 / The_Pier_Shareware_Number_6_(The_Pier_Exchange)_(1995).iso / 004 / cw_dm_17.zip / DOORMENU.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1994-09-30  |  11KB  |  441 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 3.O1 (Encryption type I) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Integer  INTEGER001
  20.     Integer  INTEGER002
  21.     Integer  INTEGER003
  22.     Integer  INTEGER004
  23.     Integer  INTEGER005
  24.     Integer  INTEGER006
  25.     Integer  INTEGER007
  26.     Integer  INTEGER008
  27.     Integer  INTEGER009
  28.     Integer  INTEGER010
  29.     Integer  INTEGER011
  30.     Integer  INTEGER012
  31.     Integer  INTEGER013
  32.     Integer  INTEGER014
  33.     Integer  INTEGER015
  34.     String   STRING001
  35.     String   STRING002
  36.     String   STRING003
  37.     String   STRING004
  38.     String   STRING005
  39.     String   STRING006
  40.     String   STRING007
  41.     String   STRING008
  42.     String   STRING009
  43.     String   STRING010
  44.     String   STRING011
  45.     String   STRING012
  46.     String   STRING013
  47.     String   STRING014
  48.     String   STRING015
  49.     String   STRING016
  50.     String   STRING017
  51.     String   STRING018
  52.     String   STRING019
  53.     String   STRING020
  54.     String   STRING021
  55.     String   STRING022
  56.     String   STRING023
  57.     String   STRING024
  58.     String   STRING025
  59.     String   STRING026
  60.     String   STRING027
  61.     String   STRING028
  62.     String   STRING029
  63.     String   STRING030
  64.     String   STRING031
  65.     String   STRING032
  66.     String   STRING033
  67.     String   STRING034
  68.     String   STRING035
  69.     String   STRING036
  70.     String   STRING037
  71.     String   STRING038
  72.     String   STRING039
  73.     String   STRING040
  74.     String   STRING041
  75.     String   STRING042
  76.     String   STRING043
  77.  
  78. ;------------------------------------------------------------------------------
  79.  
  80.     If (INTEGER009 == 1) Then
  81.         INTEGER009 = "CRW"
  82.         Beep
  83.     Endif
  84.     STRING005 = TokenStr()
  85.     INTEGER008 = STRING005
  86.     If (!(Strip(STRING005, Chr(32)) == "")) STRING007 = "Y"
  87.     INTEGER010 = 36
  88.     STRING033 = PPEPath() + PPEName() + ".CNF"
  89.     STRING041 = 58053
  90.     STRING039 = "N"
  91.     STRING042 = "U" + "n" + "r" + "e" + "g" + "i" + "s" + "t" + "e" + "r" + "e" + "d"
  92.     If (PPEName() == "SUBSCRIP") STRING040 = 46554
  93.     If (PPEName() == "FONE-VER") STRING040 = 34479
  94.     If (PPEName() == "PRO-VOTE") STRING040 = 57877
  95.     If (PPEName() == "CONFMENU") STRING040 = 27062
  96.     If (PPEName() == "FILEMENU") STRING040 = 14513
  97.     If (PPEName() == "MAINMENU") STRING040 = 25781
  98.     If (PPEName() == "DOORMENU") STRING040 = 44910
  99.     If (PPEName() == "AUTOPOST") STRING040 = 61482
  100.     If (PPEName() == "BBSLISTR") STRING040 = 11832
  101.     If (PPEName() == "REMINDME") STRING040 = 54925
  102.     If (PPEName() == "TIMEZONE") STRING040 = 38318
  103.     If (PPEName() == "USERNEWS") STRING040 = 31171
  104.     If (PPEName() == "MSGQUEST") STRING040 = 50024
  105.     If (PPEName() == "BIRTHDAY") STRING040 = 19645
  106.     If (PPEName() == "HOWHEARD") STRING040 = 42868
  107.     If (PPEName() == "WELCOMAT") STRING040 = 23034
  108.     If (Exist(STRING033)) Then
  109.         FOpen 1, STRING033, 0, 0
  110.         FGet 1, STRING028
  111.         FGet 1, INTEGER013
  112.         FGet 1, INTEGER012
  113.         FClose 1
  114.     Else
  115.         Select Case (PPEName())
  116.             Case "MAINT"
  117.                 STRING033 = PPEPath() + "PRO-VOTE.CNF"
  118.             Case "CMW"
  119.                 STRING033 = PPEPath() + "CONFMENU.CNF"
  120.             Case "INTELAPP"
  121.                 STRING033 = PPEPath() + "INTELEC.CNF"
  122.             Case Else
  123.                 PrintLn "@X0CError - Config file not found - Please notify SysOp"
  124.                 End
  125.             Endif
  126.     End Select
  127.     Tokenize STRING028
  128.     GetToken STRING037
  129.     GetToken STRING038
  130.     If (INTEGER013 == 0) Then
  131.         STRING039 = "N"
  132.         Goto LABEL003
  133.     Else
  134.         Goto LABEL001
  135.     Endif
  136.     :LABEL001
  137.     STRING034 = Left(STRING037, 1)
  138.     STRING035 = Left(STRING038, 2)
  139.     STRING036 = STRING034 + STRING035
  140.     If (STRING034 == "A") INTEGER014 = 8408
  141.     If (STRING034 == "B") INTEGER014 = 9119
  142.     If (STRING034 == "C") INTEGER014 = 6619
  143.     If (STRING034 == "D") INTEGER014 = 4820
  144.     If (STRING034 == "E") INTEGER014 = 7325
  145.     If (STRING034 == "F") INTEGER014 = 2928
  146.     If (STRING034 == "G") INTEGER014 = 2031
  147.     If (STRING034 == "H") INTEGER014 = 1934
  148.     If (STRING034 == "I") INTEGER014 = 5534
  149.     If (STRING034 == "J") INTEGER014 = 4737
  150.     If (STRING034 == "K") INTEGER014 = 9242
  151.     If (STRING034 == "L") INTEGER014 = 3743
  152.     If (STRING034 == "M") INTEGER014 = 6546
  153.     If (STRING034 == "N") INTEGER014 = 8355
  154.     If (STRING034 == "O") INTEGER014 = 2859
  155.     If (STRING034 == "P") INTEGER014 = 4660
  156.     If (STRING034 == "Q") INTEGER014 = 7463
  157.     If (STRING034 == "R") INTEGER014 = 1164
  158.     If (STRING034 == "S") INTEGER014 = 6471
  159.     If (STRING034 == "T") INTEGER014 = 3973
  160.     If (STRING034 == "U") INTEGER014 = 5674
  161.     If (STRING034 == "V") INTEGER014 = 5782
  162.     If (STRING034 == "W") INTEGER014 = 3885
  163.     If (STRING034 == "X") INTEGER014 = 8287
  164.     If (STRING034 == "Y") INTEGER014 = 7591
  165.     If (STRING034 == "Z") INTEGER014 = 1096
  166.     INTEGER011 = S2I(STRING036, INTEGER010) + INTEGER013 + STRING040 + INTEGER014
  167.     INTEGER015 = S2I(STRING036, INTEGER010) + INTEGER013 + STRING041 + INTEGER014
  168.     If (INTEGER012 == INTEGER011) Goto LABEL002
  169.     If (INTEGER012 == INTEGER015) Goto LABEL002
  170.     Goto LABEL013
  171.     :LABEL002
  172.     STRING039 = "Y"
  173.     If (Len(INTEGER013) == 1) STRING030 = "000"
  174.     If (Len(INTEGER013) == 2) STRING030 = "00"
  175.     If (Len(INTEGER013) == 3) STRING030 = "0"
  176.     If (Len(INTEGER013) == 4) STRING030 = ""
  177.     STRING031 = INTEGER013
  178.     STRING032 = STRING030 + STRING031
  179.     STRING029 = Space(30 - Len(STRING028))
  180.     :LABEL003
  181.     STRING043 = "CRW"
  182.     STRING009 = "1.7 "
  183.     INTEGER002 = 0
  184.     FOpen 1, STRING033, 0, 0
  185.     FGet 1, STRING028
  186.     FGet 1, INTEGER013
  187.     FGet 1, INTEGER012
  188.     FClose 1
  189.     STRING015 = PPEPath() + "DOORMENU.DES"
  190.     STRING006 = PPEPath() + String(CurConf()) + ".MNU"
  191.     If (!Exist(STRING006)) STRING006 = PPEPath() + "0.MNU"
  192.     FOpen 1, STRING006, 0, 0
  193.     FGet 1, STRING008
  194.     FClose 1
  195.     If (STRING007 == "Y") Goto LABEL015
  196.     If (STRING039 == "N") Then
  197.         STRING010 = "@X0BDoorMenu v" + STRING009 + " # " + "@X0F" + STRING042 + "@X0B" + " ■ " + STRING028
  198.     Endif
  199.     If (STRING039 == "Y") Then
  200.         STRING010 = "@X0BDoorMenu v" + STRING009 + " #@X0F" + STRING032 + "@X0B ■ " + STRING028
  201.     Endif
  202.     INTEGER003 = 0
  203.     FOpen 1, STRING008, 0, 0
  204.     :LABEL004
  205.     FGet 1, STRING002
  206.     If (!(STRING002 == "")) INTEGER003 = INTEGER003 + 1
  207.     If (STRING002 == "") Goto LABEL005
  208.     Goto LABEL004
  209.     :LABEL005
  210.     FClose 1
  211.     Cls
  212.     FOpen 1, STRING008, 0, 0
  213.     :LABEL006
  214.     FGet 1, STRING002
  215.     STRING016 = ""
  216.     If (STRING002 == "") Goto LABEL009
  217.     STRING002 = Replace(STRING002, Chr(44), Chr(59))
  218.     Tokenize STRING002
  219.     GetToken STRING013
  220.     GetToken STRING012
  221.     GetToken STRING014
  222.     FOpen 2, STRING015, 0, 0
  223.     :LABEL007
  224.     FGet 2, STRING003
  225.     FGet 2, STRING004
  226.     If (STRING003 == "") Goto LABEL008
  227.     If (STRING003 == STRING013) Then
  228.         STRING016 = STRING004
  229.     Else
  230.         Goto LABEL007
  231.     Endif
  232.     :LABEL008
  233.     FClose 2
  234.     INTEGER006 = 10 - Len(STRING013)
  235.     For INTEGER005 = 1 To INTEGER006
  236.         STRING013 = String(STRING013) + " "
  237.     Next
  238.     If (INTEGER001 == 0) Gosub LABEL012
  239.     INTEGER002 = INTEGER002 + 1
  240.     INTEGER001 = INTEGER001 + 1
  241.     If (INTEGER001 == 1) STRING018 = STRING013
  242.     If (INTEGER001 == 2) STRING019 = STRING013
  243.     If (INTEGER001 == 3) STRING020 = STRING013
  244.     If (INTEGER001 == 4) STRING021 = STRING013
  245.     If (INTEGER001 == 5) STRING022 = STRING013
  246.     If (INTEGER001 == 6) STRING023 = STRING013
  247.     If (INTEGER001 == 7) STRING024 = STRING013
  248.     If (INTEGER001 == 8) STRING025 = STRING013
  249.     If (INTEGER001 == 9) STRING026 = STRING013
  250.     If (INTEGER001 == 10) STRING027 = STRING013
  251.     If (Len(INTEGER002) == 1) STRING017 = "  "
  252.     If (Len(INTEGER002) == 2) STRING017 = " "
  253.     If (Len(INTEGER002) == 3) STRING017 = ""
  254.     If (Len(STRING014) == 1) STRING011 = "  "
  255.     If (Len(STRING014) == 2) STRING011 = " "
  256.     If (Len(STRING014) == 3) STRING011 = ""
  257.     STRING002 = "@X0A" + STRING017 + String(INTEGER002) + "@X0F " + STRING013 + "@X0B" + STRING011 + STRING014 + " @X0F " + STRING016
  258.     PrintLn STRING002
  259.     If ((INTEGER001 == 10) && !(INTEGER002 == INTEGER003)) Gosub LABEL010
  260.     Goto LABEL006
  261.     :LABEL009
  262.     STRING001 = ""
  263.     FClose 1
  264.     PrintLn 
  265.     InputStr "@X0EEnter the DOOR # to Open (Enter)=none", STRING001, 11, 20, " " + Mask_Num() + Mask_Alpha(), 8
  266.     INTEGER007 = STRING001
  267.     Gosub LABEL014
  268.     If (STRING001 == "") Then
  269.         STRING001 = Chr(13)
  270.         KbdString STRING001
  271.         End
  272.     Endif
  273.     If (INTEGER007 > INTEGER003) Then
  274.         STRING001 = Chr(13)
  275.         KbdString STRING001
  276.         End
  277.     Endif
  278.     If ((INTEGER007 > INTEGER002) || ((INTEGER007 <= INTEGER002 - INTEGER001) && (INTEGER007 > 0))) Then
  279.         STRING001 = Chr(13)
  280.         KbdString STRING001
  281.         End
  282.     Endif
  283.     STRING001 = STRING001 + Chr(13)
  284.     KbdString STRING001
  285.     End
  286.     :LABEL010
  287.     DefColor
  288.     STRING001 = ""
  289.     INTEGER001 = 0
  290.     PrintLn 
  291.     InputStr "@X0EEnter the DOOR # to Open  (Q)=Quit  (Enter)=Next Screen", STRING001, 11, 20, " " + Mask_Num() + Mask_Alpha(), 8
  292.     INTEGER007 = STRING001
  293.     If (STRING001 == "Q") Goto LABEL011
  294.     Gosub LABEL014
  295.     If ((INTEGER007 > INTEGER002) || ((INTEGER007 <= INTEGER002 - 10) && (INTEGER007 > 0))) Return
  296.     If (STRING001 == "") Return
  297.     STRING001 = STRING001 + Chr(13)
  298.     KbdString STRING001
  299.     End
  300.     :LABEL011
  301.     FClose 1
  302.     STRING001 = Chr(13)
  303.     KbdString STRING001
  304.     End
  305.     :LABEL012
  306.     Cls
  307.     PrintLn STRING010
  308.     PrintLn 
  309.     PrintLn "  @X0D┌─@X0B Door No.  @X0D┌─@X0B Security Level Required (Yours is @X0F@SECURITY@@X0B)"
  310.     PrintLn "  @X0D│   ┌─@X0B Name  @X0D│   ┌────────────────────@X0B Door Description@X0D ────────────────────┐"
  311.     PrintLn "  @X0D│   │        │   │                                                          │"
  312.     Return
  313.     :LABEL013
  314.     Cls
  315.     PrintLn 
  316.     PrintLn "Invalid Registration Code!"
  317.     Delay 182
  318.     End
  319.     :LABEL014
  320.     If ((((((((((STRING001 == "1") || (STRING001 == "11")) || (STRING001 == "21")) || (STRING001 == "31")) || (STRING001 == "41")) || (STRING001 == "51")) || (STRING001 == "61")) || (STRING001 == "71")) || (STRING001 == "81")) || (STRING001 == "91")) Then
  321.         STRING001 = STRING018
  322.         Return
  323.     Endif
  324.     If ((((((((((STRING001 == "2") || (STRING001 == "12")) || (STRING001 == "22")) || (STRING001 == "32")) || (STRING001 == "42")) || (STRING001 == "52")) || (STRING001 == "62")) || (STRING001 == "72")) || (STRING001 == "82")) || (STRING001 == "92")) Then
  325.         STRING001 = STRING019
  326.         Return
  327.     Endif
  328.     If ((((((((((STRING001 == "3") || (STRING001 == "13")) || (STRING001 == "23")) || (STRING001 == "33")) || (STRING001 == "43")) || (STRING001 == "53")) || (STRING001 == "63")) || (STRING001 == "73")) || (STRING001 == "83")) || (STRING001 == "93")) Then
  329.         STRING001 = STRING020
  330.         Return
  331.     Endif
  332.     If ((((((((((STRING001 == "4") || (STRING001 == "14")) || (STRING001 == "24")) || (STRING001 == "34")) || (STRING001 == "44")) || (STRING001 == "54")) || (STRING001 == "64")) || (STRING001 == "74")) || (STRING001 == "84")) || (STRING001 == "94")) Then
  333.         STRING001 = STRING021
  334.         Return
  335.     Endif
  336.     If ((((((((((STRING001 == "5") || (STRING001 == "15")) || (STRING001 == "25")) || (STRING001 == "35")) || (STRING001 == "45")) || (STRING001 == "55")) || (STRING001 == "65")) || (STRING001 == "75")) || (STRING001 == "85")) || (STRING001 == "95")) Then
  337.         STRING001 = STRING022
  338.         Return
  339.     Endif
  340.     If ((((((((((STRING001 == "6") || (STRING001 == "16")) || (STRING001 == "26")) || (STRING001 == "36")) || (STRING001 == "46")) || (STRING001 == "56")) || (STRING001 == "66")) || (STRING001 == "76")) || (STRING001 == "86")) || (STRING001 == "96")) Then
  341.         STRING001 = STRING023
  342.         Return
  343.     Endif
  344.     If ((((((((((STRING001 == "7") || (STRING001 == "17")) || (STRING001 == "27")) || (STRING001 == "37")) || (STRING001 == "47")) || (STRING001 == "57")) || (STRING001 == "67")) || (STRING001 == "77")) || (STRING001 == "87")) || (STRING001 == "97")) Then
  345.         STRING001 = STRING024
  346.         Return
  347.     Endif
  348.     If ((((((((((STRING001 == "8") || (STRING001 == "18")) || (STRING001 == "28")) || (STRING001 == "38")) || (STRING001 == "48")) || (STRING001 == "58")) || (STRING001 == "68")) || (STRING001 == "78")) || (STRING001 == "88")) || (STRING001 == "98")) Then
  349.         STRING001 = STRING025
  350.         Return
  351.     Endif
  352.     If ((((((((((STRING001 == "9") || (STRING001 == "19")) || (STRING001 == "29")) || (STRING001 == "39")) || (STRING001 == "49")) || (STRING001 == "59")) || (STRING001 == "69")) || (STRING001 == "79")) || (STRING001 == "89")) || (STRING001 == "99")) Then
  353.         STRING001 = STRING026
  354.         Return
  355.     Endif
  356.     If ((((((((((STRING001 == "10") || (STRING001 == "20")) || (STRING001 == "30")) || (STRING001 == "40")) || (STRING001 == "50")) || (STRING001 == "60")) || (STRING001 == "70")) || (STRING001 == "80")) || (STRING001 == "00")) || (STRING001 == "100")) Then
  357.         STRING001 = STRING027
  358.         Return
  359.     Endif
  360.     Return
  361.     :LABEL015
  362.     FOpen 1, STRING015, 0, 0
  363.     For INTEGER004 = 1 To INTEGER008
  364.         FGet 1, STRING005
  365.         FGet 1, STRING002
  366.     Next
  367.     FClose 1
  368.     KbdString STRING005 + Chr(13)
  369.     End
  370.  
  371. ;------------------------------------------------------------------------------
  372. ;
  373. ; Usage report (before postprocessing)
  374. ;
  375. ; ■ Statements used :
  376. ;
  377. ;    9       End
  378. ;    3       Cls
  379. ;    45      Goto 
  380. ;    127     Let 
  381. ;    11      PrintLn 
  382. ;    100     If 
  383. ;    7       FOpen 
  384. ;    8       FClose 
  385. ;    13      FGet 
  386. ;    1       DefColor
  387. ;    2       InputStr 
  388. ;    4       Gosub 
  389. ;    14      Return
  390. ;    1       Delay 
  391. ;    2       Tokenize 
  392. ;    5       GetToken 
  393. ;    1       Beep
  394. ;    7       KbdString 
  395. ;
  396. ;
  397. ; ■ Functions used :
  398. ;
  399. ;    62      +
  400. ;    4       -
  401. ;    184     ==
  402. ;    2       <
  403. ;    4       <=
  404. ;    5       >
  405. ;    4       >=
  406. ;    28      !
  407. ;    7       &&
  408. ;    94      ||
  409. ;    12      Len(
  410. ;    2       Left()
  411. ;    1       Space()
  412. ;    10      Chr()
  413. ;    1       Replace()
  414. ;    1       Strip()
  415. ;    3       String()
  416. ;    2       Mask_Alpha()
  417. ;    2       Mask_Num()
  418. ;    1       CurConf()
  419. ;    7       PPEPath()
  420. ;    2       Exist()
  421. ;    2       S2I()
  422. ;    1       TokenStr()
  423. ;    20      PPEName()
  424. ;
  425. ;------------------------------------------------------------------------------
  426. ;
  427. ; Analysis flags : No flag
  428. ;
  429. ;------------------------------------------------------------------------------
  430. ;
  431. ; Postprocessing report
  432. ;
  433. ;    2       For/Next
  434. ;    0       While/EndWhile
  435. ;    19      If/Then or If/Then/Else
  436. ;    1       Select Case
  437. ;
  438. ;------------------------------------------------------------------------------
  439. ;                 AEGiS Corp - Break the routines, code against the machines!
  440. ;------------------------------------------------------------------------------
  441.