home *** CD-ROM | disk | FTP | other *** search
- ; BBSLIST.SCR : Add / Modify BBS in the BBS list
- ;
- ; This script is called from Add/Change BBS menutype.
- ;
- ; There may be a small bug in setting the first net address:
- ; In certain cases, the net address remains 0:0/0 even if set correctly.
- ; Saving BBS information and modifying the net address later will
- ; correct the problem.
-
- VAR %YPOS% = NUMBER
- VAR %TEMP% = NUMBER
-
- VAR %L1% = STRING 20
- VAR %L2% = NUMBER
- VAR %L3% = STRING 11
- VAR %L4% = STRING 15
-
- :HEADER
- WRITE "^C14,0;^E1;"
- WRITE "BBS name : Press Ctrl-Z to continue.^M;"
- WRITE "Sysop :^M;"
- WRITE "Software :^M;"
- MENUTYPE 1A BBSLIST1
- :HEADER_OK
- WRITE "^G1,5;"
- WRITE "^C7,0;(^C14,0;C^C7,0;)^C14,0;ontinue, "
- WRITE "^C7,0;(^C14,0;A^C7,0;)^C14,0;gain, "
- WRITE "^C7,0;(^C14,0;Q^C7,0;)^C14,0;uit "
- SET @ANSWER@ =
- WRITE "^C7,0;(^C15,0;~1C^C7,0;/^C15,0;~2A^C7,0;/^C15,0;~3Q^C7,0;) ^W;^M;"
- IF (@ANSWER@ = 1)
- GOTO NODE
- END
- IF (@ANSWER@ = 2)
- GOTO HEADER
- END
- IF (@ANSWER@ = 3)
- SET @ANSWER@ =
- WRITE "^C14,0;Are you sure? (~1y/~2N) ^W;"
- IF (@ANSWER@ = 1)
- WRITE "^M;"
- QUIT
- ELSE
- WRITE "^X-79;^E3;"
- GOTO HEADER_OK
- END
- END
- GOTO HEADER_OK
-
- :NODE
- GOSUB SHOWNODES
- :NODE_OK
- WRITE "^G1,5;"
- WRITE "^C7,0;(^C14,0;C^C7,0;)^C14,0;ontinue, "
- WRITE "^C7,0;(^C14,0;E^C7,0;)^C14,0;dit node, "
- WRITE "^C7,0;(^C14,0;A^C7,0;)^C14,0;dd node, "
- WRITE "^C7,0;(^C14,0;D^C7,0;)^C14,0;elete node, "
- WRITE "^C7,0;(^C14,0;Q^C7,0;)^C14,0;uit "
- SET @ANSWER@ =
- WRITE "^C7,0;(^C15,0;~1C^C7,0;/^C15,0;~2E^C7,0;/^C15,0;~3A^C7,0;/^C15,0;~4D^C7,0;/^C15,0;~5Q^C7,0;) ^W;^X-79;^E3;"
- IF (@ANSWER@ = 1)
- GOSUB NET
- END
- IF (@ANSWER@ = 2)
- IF (@BBSLIST_NODES@ > 0)
- GOSUB ASK_NODE
- GOSUB EDIT_NODE
- ELSE
- GOSUB ADD_NODE
- END
- END
- IF ((@ANSWER@ = 3) AND (@BBSLIST_NODES@ < 10))
- GOSUB ADD_NODE
- END
- IF ((@ANSWER@ = 4) AND (@BBSLIST_NODES@ > 1))
- GOSUB ASK_NODE
- SET @ANSWER@ =
- WRITE "^C14,0;Are you sure? (~1y/~2N) ^W;"
- IF (@ANSWER@ = 1)
- GOSUB DEL_NODE
- GOSUB SHOWNODES
- ELSE
- WRITE "^X-79;^E3;"
- GOTO NODE_OK
- END
- END
- IF (@ANSWER@ = 5)
- SET @ANSWER@ =
- WRITE "^C14,0;Are you sure? (~1y/~2N) ^W;"
- IF (@ANSWER@ = 1)
- WRITE "^M;"
- QUIT
- ELSE
- WRITE "^X-79;^E3;"
- GOTO NODE_OK
- END
- END
- GOTO NODE_OK
-
- :SHOWNODES
- WRITE "^E1;"
- WRITE "^C14,0;BBS name : ^C15,0;@BBSLIST_NAME@.35^M;"
- WRITE "^C14,0;Sysop : ^C15,0;@BBSLIST_SYSOP@.35^M;"
- WRITE "^C14,0;Software : ^C15,0;@BBSLIST_SOFTWARE@.15^M;"
- WRITE "^G1,7;^C14,0; # Phonenumber BPS Open Other^M;"
- IF (@BBSLIST_NODES@ > 0)
- SET %TEMP% = 0
- :LOOP1
- SET %TEMP% = (%TEMP%+1)
- SET @BBSLIST_NODE@ = %TEMP%
- WRITE "^C15,0;@BBSLIST_NODE@:02 @BBSLIST_NUMBER@.20 @BBSLIST_BPSRATE@.05 @BBSLIST_OPEN@.11 @BBSLIST_NODECMNT@.15^M;"
- IF ((@BBSLIST_NODE@ = @BBSLIST_NODES@) OR (@BBSLIST_NODE@ = 10))
- GOTO OUT1
- END
- GOTO LOOP1
- END
- :OUT1
- RETURN
-
- :ASK_NODE
- ; sets node number
- IF (@BBSLIST_NODES@ > 1)
- SET @ANSWER@ =
- WRITE "^C13,0;Enter node number : ^C14,1;^L2;^C13,0;^X-30;^E3;"
- IF ((@ANSWER@ < 1) OR (@ANSWER@ > @BBSLIST_NODES@))
- RETURN
- ELSE
- SET @BBSLIST_NODE@ = @ANSWER@
- END
- ELSE
- SET @BBSLIST_NODE@ = 1
- END
- RETURN
-
- :EDIT_NODE
- ; edit current node number
- WRITE "^G48,1;^C14,0;Press Ctrl-Z to continue."
- SET %YPOS% = (@BBSLIST_NODE@+7)
- WRITE "^G1,%YPOS%;^C15,0;@BBSLIST_NODE@:02"
- MENUTYPE 1A BBSLIST2
- WRITE "^G48,1;^C14,0;^E3;"
- RETURN
-
- :ADD_NODE
- SET %TEMP% = (@BBSLIST_NODES@+1)
- SET @BBSLIST_NODES@ = %TEMP%
- SET @BBSLIST_NODE@ = @BBSLIST_NODES@
- GOSUB EDIT_NODE
- RETURN
-
- :DEL_NODE
- IF (@BBSLIST_NODE@ < @BBSLIST_NODES@)
- SET %TEMP% = (@BBSLIST_NODE@+1)
- :LOOP2
- SET @BBSLIST_NODE@ = %TEMP%
- SET %L1% = @BBSLIST_NUMBER@
- SET %L2% = @BBSLIST_BPSRATE@
- SET %L3% = @BBSLIST_OPEN@
- SET %L4% = @BBSLIST_NODECMNT@
- SET %TEMP% = (%TEMP%-1)
- SET @BBSLIST_NODE@ = %TEMP%
- SET @BBSLIST_NUMBER@ = %L1%
- SET @BBSLIST_BPSRATE@ = %L2%
- SET @BBSLIST_OPEN@ = %L3%
- SET @BBSLIST_NODECMNT@ = %L4%
- SET %TEMP% = (%TEMP%+2)
- IF (%TEMP% >= @BBSLIST_NODES@)
- GOTO OUT2
- END
- GOTO LOOP2
- END
- :OUT2
- SET %TEMP% = (@BBSLIST_NODES@-1)
- SET @BBSLIST_NODES@ = %TEMP%
- SET @BBSLIST_NODE@ = 1
- RETURN
-
- :NET
- GOSUB SHOWNETS
- :NET_OK
- WRITE "^G1,5;"
- WRITE "^C7,0;(^C14,0;C^C7,0;)^C14,0;ontinue, "
- WRITE "^C7,0;(^C14,0;E^C7,0;)^C14,0;dit net address, "
- WRITE "^C7,0;(^C14,0;A^C7,0;)^C14,0;dd addr, "
- WRITE "^C7,0;(^C14,0;D^C7,0;)^C14,0;elete addr, "
- WRITE "^C7,0;(^C14,0;Q^C7,0;)^C14,0;uit "
- SET @ANSWER@ =
- WRITE "^C7,0;(^C15,0;~1C^C7,0;/^C15,0;~2E^C7,0;/^C15,0;~3A^C7,0;/^C15,0;~4D^C7,0;/^C15,0;~5Q^C7,0;) ^W;^X-79;^E3;"
- IF (@ANSWER@ = 1)
- GOSUB STOP
- END
- IF (@ANSWER@ = 2)
- IF (@BBSLIST_NETS@ > 0)
- GOSUB ASK_NET
- GOSUB EDIT_NET
- ELSE
- GOSUB ADD_NET
- END
- END
- IF ((@ANSWER@ = 3) AND (@BBSLIST_NETS@ < 10))
- GOSUB ADD_NET
- END
- IF ((@ANSWER@ = 4) AND (@BBSLIST_NETS@ > 1))
- GOSUB ASK_NET
- SET @ANSWER@ =
- WRITE "^C14,0;Are you sure? (~1y/~2N) ^W;"
- IF (@ANSWER@ = 1)
- GOSUB DEL_NET
- GOSUB SHOWNETS
- ELSE
- WRITE "^X-79;^E3;"
- GOTO NET_OK
- END
- END
- IF (@ANSWER@ = 5)
- SET @ANSWER@ =
- WRITE "^C14,0;Are you sure? (~1y/~2N) ^W;"
- IF (@ANSWER@ = 1)
- WRITE "^M;"
- QUIT
- ELSE
- WRITE "^X-79;^E3;"
- GOTO NET_OK
- END
- END
- GOTO NET_OK
-
- :SHOWNETS
- WRITE "^E1;"
- WRITE "^C14,0;BBS name : ^C15,0;@BBSLIST_NAME@.35^M;"
- WRITE "^C14,0;Sysop : ^C15,0;@BBSLIST_SYSOP@.35^M;"
- WRITE "^C14,0;Software : ^C15,0;@BBSLIST_SOFTWARE@.15^M;"
- WRITE "^G1,7;^C14,0; # Net address Net name^M;"
- IF (@BBSLIST_NETS@ > 0)
- SET %TEMP% = 0
- :LOOP3
- SET %TEMP% = (%TEMP%+1)
- SET @BBSLIST_NET@ = %TEMP%
- WRITE "^C15,0;@BBSLIST_NET@:02 @BBSLIST_NETADDR@.20 @BBSLIST_NETNAME@.15^M;"
- IF ((@BBSLIST_NET@ = @BBSLIST_NETS@) OR (@BBSLIST_NET@ = 10))
- GOTO OUT3
- END
- GOTO LOOP3
- END
- :OUT3
- RETURN
-
- :ASK_NET
- ; sets net number
- IF (@BBSLIST_NETS@ > 1)
- SET @ANSWER@ =
- WRITE "^C13,0;Enter net number : ^C14,1;^L2;^C13,0;^X-30;^E3;"
- IF ((@ANSWER@ < 1) OR (@ANSWER@ > @BBSLIST_NETS@))
- RETURN
- ELSE
- SET @BBSLIST_NET@ = @ANSWER@
- END
- ELSE
- SET @BBSLIST_NET@ = 1
- END
- RETURN
-
- :EDIT_NET
- ; edit current net number
- WRITE "^G48,1;^C14,0;Press Ctrl-Z to continue."
- SET %YPOS% = (@BBSLIST_NET@+7)
- WRITE "^G1,%YPOS%;^C15,0;@BBSLIST_NET@:02"
- MENUTYPE 1A BBSLIST3
- WRITE "^G48,1;^C14,0;^E3;"
- RETURN
-
- :ADD_NET
- SET %TEMP% = (@BBSLIST_NETS@+1)
- SET @BBSLIST_NETS@ = %TEMP%
- SET @BBSLIST_NET@ = @BBSLIST_NETS@
- GOSUB EDIT_NET
- RETURN
-
- :DEL_NET
- IF (@BBSLIST_NET@ < @BBSLIST_NETS@)
- SET %TEMP% = (@BBSLIST_NET@+1)
- :LOOP4
- SET @BBSLIST_NET@ = %TEMP%
- SET %L1% = @BBSLIST_NETADDR@
- SET %L4% = @BBSLIST_NETNAME@
- SET %TEMP% = (%TEMP%-1)
- SET @BBSLIST_NET@ = %TEMP%
- SET @BBSLIST_NETADDR@ = %L1%
- SET @BBSLIST_NETNAME@ = %L4%
- SET %TEMP% = (%TEMP%+2)
- IF (%TEMP% >= @BBSLIST_NETS@)
- GOTO OUT4
- END
- GOTO LOOP4
- END
- :OUT4
- SET %TEMP% = (@BBSLIST_NETS@-1)
- SET @BBSLIST_NETS@ = %TEMP%
- SET @BBSLIST_NET@ = 1
- RETURN
-
- :STOP
- QUIT
-