home *** CD-ROM | disk | FTP | other *** search
- \\ BOYAN HOST MODE Version 5.2.
- \\ Please see the BOYAN User's Manual for complete documentation!
-
- |InitHost
- \IE-%AN,HOST[ \AM[H] ]
- \IE-%AN,HOST[\DM24[Unable to load HOST module.]\AB]
- \ZS \ST[Invoking host in %V3 mode...]
- \DM1[ ╔═══════════════════════════════════════╗ ]
- \DM2[ ║ Host Mode Initializing... ║ ]
- \DM3[ ╠═══════════════════════════════════════╣ ]
- \DM4[ ║ Press <Tab> for Sysop Menu. ║ ]
- \DM5[ ║ Press <Esc> to quit Host Mode. ║ ]
- \DM6[ ╚═══════════════════════════════════════╝ ]
- \CP[None] \BB- \AV[0] \KO[0] \SP[0] \SL[0] \\ initialize host settings
- \SVU[%UN] \IE+%UF,OFF[\SVU[]] \\ save current usage file name in %VU
- \SVR[%AP] \\ save previous action module in %VR
- \UF+[%V4`HOST.USE] \\ use HOST.USE as the usage log file
- \UM[---- Host Mode Invoked -----]
- \MV1[7] \II+QD,%V1[\II-"\AT+,%V1[\SM7["\AT+"[%V1] ]\\ This line checks to make
- \\ sure that the \AF[blah..blah]
- \\ command is included in macro #7
- \CA+[ \GB[Welcome] | \GB[WaitForCall]
-
-
- |WaitForCall
- \EC- \LF- \KO[0] \SVN[] \SVO[waiting]
- \IV3+LOCAL[\EC+ \LF+\SVI[41]\gb[local]]
- \IV3-MODEM[\GB[Welcome]] \CA+[\GB[Welcome]]
- \CS[%MM] \MA[3] \\ Change speed to modem's maximum.
- AT&C1&D2X4S0=0{ \\ Tell modem not to auto-answer.
- \WF[OK]~~ \\ Expect "OK" message back from modem.
- \DM1[ ╔═══════════════════════════════════════╗ ]
- \DM2[ ║ Host Mode Waiting for RING... ║ ]
- \DM3[ ╠═══════════════════════════════════════╣ ]
- \DM4[ ║ Press <Tab> for Sysop Menu. ║ ]
- \DM5[ ║ Press <Esc> to quit Host Mode. ║ ]
- \DM6[ ╚═══════════════════════════════════════╝ ]
- \TO[255] \WF[RING] \\ Wait forever for "RING"
- \TO[7] \SV0[%V2] \+V0[-1] \\ let %V0 = tot. number of rings - 1
- \RE%V0[\WF[RING] \IW-[\GB[WaitForCall]] ] \\ Wait for %V0 additional rings.
- ~ATA{~ \\ Tell modem to establish connection.
- \TO[45]\WL\WP[1]
- \IF+MNP[\CS[%MM]\sv9[x]\GB[Welcome]] \\ Setting port speed for modem
- \IF+ARQ[\CS[%MM]\sv9[x]\GB[Welcome]] \\ .
- \IF+LAP[\CS[%MM]\sv9[x]\GB[Welcome]] \\ .
- \IF+HST[\CS[%MM]\sv9[x]\GB[Welcome]] \\ .
- \IF+38[\CS[%MS]~ \GB[Welcome]] \\ .
- \IF+19[\CS[%MS]~ \GB[Welcome]] \\ .
- \IF+96[\CS[%MS]~ \GB[Welcome]] \\ .
- \IF+48[\CS[%MS]~ \GB[Welcome]] \\ .
- \IF+24[\CS[%MS]~ \GB[Welcome]] \\ .
- \IF+12[\CS[%MS]~ \GB[Welcome]] \\ .
- \CS[%MS]~\GB[Welcome] \\ .
-
- |Local
- \zs Welcome Sysop! {{
- \SV3[LOCAL]
- \TVA[%VI] \ii-;,%VA[\gb[welcome]]
- \SVN[%VA] \II+;,%VN[\LVN[%IM]]
- \SVF[%VN] \II+ ,%VF[\LVF[%IM]]
- \SVP[%VA] \II+;,%VA[\DVP[%II]] \II-;,%VP[\EM]
- \SVL[%VP] \LVP[%IM]
- \DVL[%II] \II-;,%VL[\EM]
- \SVE[%VL] \LVL[%IM]
- \DVE[%II] \II-"|.%VE[\EM]
- \II+"|,%VE[\LV0[%IM]]
- Enter your password: `\RV0*[15]
- \IV0-%VP[\SVN[]{{ OK,{{You'll have to do it the hard way <G>!{{\gb[welcome]] \\ wrong password
- \SN[%VN] \SVO[online]
- \bl[StartTime] \gb[menu]
-
- |Welcome
- \EC+ \LF+ \CS[%MS]
- \IV3+MODEM[\AV[6] \AL2[1] \AV[0] \PA[3] \PL]
- {{{
- Welcome to BOYAN 5.2 Host!{{
- \ie+%V9,X[{(Error Correcting Modem Detected)]
- \DM1[ ╔═══════════════════════════════════════╗ ]
- \DM2[ ║ Host Mode Logging user in... ║ ]
- \DM3[ ╠═══════════════════════════════════════╣ ]
- \DM4[ ║ Press <Tab> for Sysop Menu. ║ ]
- \DM5[ ║ Press <Esc> to quit Host Mode. ║ ]
- \DM6[ ╚═══════════════════════════════════════╝ ]
- \TO[40] Press <Enter> to begin: `{
- \rvy[1]{{\iv3+modem[\CA-[\PL\HU\GB[WaitForCall]]]
- \IW-[\GB[LogOff]] \SVX[OFF] \sv1[] \\ if no response, log user off!
- Welcome to BOYAN Communications 5.0{{
- \FE+%V4`WELCOME.MSG[\svz[%V4`WELCOME.MSG] \bl[list]] \\ Send "WELCOME.MSG"
- \PL \iv3+modem[\CA-[\PL\HU\GB[WaitForCall]]] \BL[GetName&PW] \iv3+modem[\CA-[\PL\HU\GB[WaitForCall]]]
- \IVN+[Try again.{ \BL[GetName&PW]]\iv3+modem[\CA-[\PL\HU\GB[WaitForCall]]]
- \IVN+[Last try!{ \BL[GetName&PW]]\iv3+modem[\CA-[\PL\HU\GB[WaitForCall]]]
- \IVN+[\GB[WrongPassword]]
- \SN[%VN] \SVO[online] \bl[startTime]
- \gb[MENU]
-
- |GetName&PW
- \SV0[] \SVP[] \SVL[1] \SVE[] { \\ user level set to 1
- \\SV0[] \SVP[] \SVL[0] \SVE[] { \\ user level set at 0
- Enter your FIRST & LAST name: `
- \iv3+modem[\CA-[\PL\HU\GB[WaitForCall]]] \RVN[50] \IVN+[\EB]
- \SVF[%VN] \II+ ,%VF[\LVF[%IM]] \\ set %VF = user's First name
- \SV0[%VN] \DV0[%II]
- \II+ ,%V0[\LV0[%IM] \SVN[%VF `%V0] \SV0[] | \SV0[] ]
- \II+;,%VN[\SV0[%VN] \DV0[%II] \LVN[%IM] ] \\ parse "First Last;password"
- Searching \SVI[40] \BL[SearchUserBase]{\iv3+modem[\CA-[\PL\HU\GB[WaitForCall]]]
- \IVI+111[\GB[UserNotFound]]
- \IVP+[No password for you in database!{ \SVN[] \EB ]
- \iv3+modem[\CA-[\PL\HU\GB[WaitForCall]]] \UM[Logged in Host User %VI: %VN]
- \IV0+[Enter your password: `\RV0*[15]]
- \iv3+modem[\CA-[\PL\HU\GB[WaitForCall]]]
- \IV0-%VP[\bl[secondtry]\IV0-%VP[\SVN[]]] \\ wrong password
-
- |Secondtry
- Wrong password, try again.{{Enter your password: `\RV0*[15]
-
- |SearchUserBase \\ Search for %VN; set %VP=pwd, %VL=level.
- \RE[\+VI[1] \IVI+111[\EB] .\TVA[%VI] \II+;,%VA[\EM]] \\ loop until `;' in %VA
- \SVP[%VA] \LVA[%IM] \\ trim off name portion into %VA
- \IVA-%VN[\GB[SearchUserBase] |else \SVN[%VA]]
- \DVP[%II] \II-;,%VP[\EB] \\ if no ';' in remainder, we're done.
- \SVL[%VP] \LVP[%IM] \\ trim off only password portion into %VP
- \DVL[%II] \II-;,%VL[\EB]
- \SVE[%VL] \LVL[%IM] \\ trim off user level portion into %VL
- \DVE[%II] \II-"|.%VE[\EB] \\ %VE contains rest of user base entry
- \LVL[%IM]
-
- |UserNotFound
- Did you enter your name correctly as '%VN' (y/N) ? `\RV8[1]
- \IV8-Y[\SVN[] \EB]
- \SV8[41] \SVI[none]
- \RE[\TV9[%V8] \II-;,%V9[\SVI[%V8] \EM] \+V8[1] ] \\ search user base for blank #
- \IVI+none[Sorry, user base is full! {\EB]
- %VF, you will be registered as user #%VI.{
- Please choose a password for this system :> `
- \RVP*[15]
- \IVP+[Blank passwords are not allowed.{{\GB[UserNotFound]]
- Type your password again to confirm: `
- \RV9*[15]
- \IE-%VP,%V9[Your passwords didn't match!{\GB[UserNotFound]]
- \UM[** New Host User %VI ** %VN, level %VL]
- \SVE[ first called on %MO/%DA/%YR at %HR:%MI]
- \af%V4Userdata.fil[` `++++++++++++++++++++++++++++++++++++++++++++]
- \af%V4Userdata.fil[User # %VI, %VN, %Vp, %VE]
- \af%V4Userdata.fil[%VN]
- \TM%VI[%VN;%VP;%VL;%VE] \\ add entry to user base
-
- |StartTime
- \SVS[]\SVT[]\SVK[] \\ Clears timer variables
- \SVS[%hr] \SVT[%MI] \\ sets hour and minute counters
- \IVL+0[\SVK[30]] \\ sets user level time limits
- \IVL+1[\SVK[50]] \\ .
- \IVL+2[\SVK[75]] \\ .
- \IVL+3[\SVK[90]] \\ .
- \IVL+4[\SVK[120]] \\ .
- \+VK[%MI]\SVK[%VK] \\ .
-
- |Timer
- \SVT[%MI] \ie-%VS,%HR[\+vt[60]]
- \SV0[%VK] \+V0[-%VT] \ii+-,%v0[Sorry, your time limit has expired!{\sv0[x]]
-
-
- |MENU
- \ST[ » Press <Tab> for Sysop Menu. «] \KO[0]
- \iv3+modem[\ca-[\gb[cycle]]]\SV1[]
- \IVL+0[\svc[LRFZCONXG]] \\ sets the available commands for each user level
- \IVL+1[\svc[LERFDUZCONXG]]
- \IVL+2[\svc[LERKFDUZCOJNXGS]]
- \IVX+ON[Boyan-Host Expert Menu <%VC> { \GB[MenuDispatch] ]
- {`````````============================{
- `````````` Boyan-Host Command Menu{
- ``````````----------------------------{
- \II+L,%VC[ <L> List message titles{]
- \II+E,%VC[ <E> Enter a new message{]
- \II+R,%VC[ <R> Read a message{]
- \II+K,%VC[ <K> Kill a message{]
- \II+C,%VC[ <C> Comment to operator{]
- ``````````----------------------------{
- \II+F,%VC[ <F> File listing{]
- \II+D,%VC[ <D> Download files{]
- \II+U,%VC[ <U> Upload files{]
- \II+Z,%VC[ <Z> ZIP file contents{]
- \II+J,%VC[ <J> Jump to DOS{]
- ``````````----------------------------{
- \II+O,%VC[ <O> Operator page{]
- \II+N,%VC[ <N> New password{]
- \II+X,%VC[ <X> Expert mode toggle{]
- \II+G,%VC[ <G> Goodbye{]
- \II+S,%VC[ <S> Shut down host!{]
- ``````````============================{
- \GB[MenuDispatch]
-
- |MenuDispatch
- \iv3+modem[\ca-[\gb[cycle]]]\SV1[]
- \bl[timer]" Time remaining this call %V0 min.{
- Your selection: `\RV0[1]
- \II-%V0,%VC[Sorry, <%V0> is not a valid option.{\GB[Menu]]
- \IV0+L[\GB[ListMsgs]]
- \IV0+E[\GB[EnterMsg]]
- \IV0+C[\GB[EnterComment]]
- \IV0+R[\GB[ReadMsg]]
- \IV0+K[\GB[KillMsg]]
- \IV0+F[\GB[ListFiles]]
- \IV0+D[\GB[Download]]
- \IV0+U[\GB[Upload]]
- \IV0+Z[\GB[ZipView]]
- \IV0+O[\GB[OperatorPage]]
- \IV0+J[\GB[Shell]]
- \IV0+N[\GB[NewPassword]
- \IV0+X[\GB[ToggleExpert]
- \IV0+G[\GB[LogOff]]
- \IV0+S[\GB[Shutdown]]
- \GB[Menu]
-
- |ListMsgs
- \iv3+modem[\ca-[\gb[cycle]]]\SV1[]
- Available messages:{
- \DC[dir %V4*.msg /W > %B:#hosttmp.fil] \\ use DOS to list messages to file
- \svz[%B:#hosttmp.fil] \bl[list] \\ List file contents to screen
- \GB[Menu]
-
- |EnterMsg
- \iv3+modem[\ca-[\gb[cycle]]]\SV1[]
- Type a name for your message (1-8 letters): ________^H^H^H^H^H^H^H^H
- \RV0[8] \\ read in message name of up to 8 chars
- \SV0[%V4%V0.msg] \\ make %V0 = full path\filename.msg
- \FE+%V0[That message already exists.{ \GB[Menu]]
- \GB[MsgHeader]
-
- |EnterComment
- Leaving a private comment for the System Operator...{
- \SV0[%V4#comment.tmp]
- \FE+%V0[\DC[DEL %V0]] \\ delete #comment.tmp if it already exists
- \GB[MsgHeader]
-
- |MsgHeader
- \iv3+modem[\ca-[\gb[cycle]]]\SV1[]
- \SV9[=========== From: %VN ==== %MO/%DA at %HR:%MI ===========]
- \AF%V0[%V9]
- \FE-%V0[Unable to create message file %V0.{ \GB[Menu]]
- \AF%V0[]
- Enter your message. Hit <Return> on empty line when message is complete.{{
- %V9{{
- \TO[100] \\ set 100-second timeout for each line
- \SV9[1] \\ line number counter, starts at 1
- \GB[GetMsgLines]
-
- |GetMsgLines
- \RE[%V9>" \RV8+[70] \IV8+[\EM] \AF%V0[%V8] \+V9[1]]
- \GB[EnterOptions]
-
- |EnterOptions
- {Message options: [A]bort, [C]ontinue, [L]ist, or [S]ave ? `
- \RV8[1]
- \IV8+A[\DC[del %V0] Message aborted.{ \GB[Menu] ]
- \IV8+S[\IV0+%V4#comment.tmp[\GB[SaveComment]]]
- \IV8+S[Message saved.{ \UM[| Posted %V0] \GB[Menu] ]
- \IV8+C[\GB[GetMsgLines]]
- \IV8+L[{ \SVZ[%V0] \bl[list] ]
- \GB[EnterOptions]
-
- |SaveComment
- \iv3+modem[\ca-[\gb[cycle]]]\SV1[]
- Comment saved.{
- \UM[| Left comment to operator]
- \AF%V0[]
- \SV1[%V4`COMMENTS.HOS]
- \FE-%V1[\DC[ren %V0 COMMENTS.HOS] | \DC[type %V0 >> %V1] \DC[del %V0] ]
- \GB[Menu]
-
- |ReadMsg
- \iv3+modem[\ca-[\gb[cycle]]]\SV1[]
- Name of message to read: `\RV0[8]
- \SV0[%V4`%V0.msg] \\ expand name to path\filename.msg
- \FE-%V0[That message does not exist.{ \GB[Menu]]
- \svz[%V0] \bl[list] \\ List file contents to screen
- \GB[Menu]
-
- |KillMsg
- \iv3+modem[\ca-[\gb[cycle]]]\SV1[]
- Name of message to kill: `\RV0[8]
- \SV0[%V4%V0.msg] \\ expand name to path\filename.msg
- \FE-%V0[That message does not exist.{ \GB[Menu]]
- \DC[DEL %V0]
- Message file %V0 deleted.{
- \GB[Menu]
-
- |ToggleExpert
- \iv3+modem[\ca-[\gb[cycle]]]\SV1[]
- \IVX+ON[\SVX[OFF] |ELSE \SVX[ON]]
- \GB[Menu]
-
- |List
- \iv3+modem[\ca-[\gb[cycle]]]\SV1[]
- \gv[]\ST[ » Press <Tab> for Sysop Menu. «]\sv1[0] \sv8[]
- \re[\IV8+S[\em] \gv0[%VZ] \ii+^z,%v0[\em] %v0{ \+v1[1] \IV1+23[ \bl[prompts]]
- {Hit ENTER to continue \RV[1]
- \GV[]
-
- |prompts
- \iv3+modem[\ca-[\gb[cycle]]]
- \IV8+X[\eb]
- " " <More> <Quit> <Non-Stop> ` \rv1[1]
- \IV1+M[\SV1[0]]
- \IV1+Q[\SV1[0]\sv8[S]]
- \IV1+N[\SV1[0]\sv8[x]]
- \IV1+[\SV1[0]]
-
-
-
- |ListFiles \\ list files in host directory
- \iv3+modem[\ca-[\gb[cycle]]]\SV1[]
- Files available for downloading:{
- \DC[dir %V5*.* > %B:#hosttmp.fil] \\ use DOS to create list in temp. file
- \svz[%B:#hosttmp.fil] \bl[list] \\ List file contents to screen
- \GB[Menu]
-
- |Download
- \iv3+modem[\ca-[\gb[cycle]]]\SV1[]
- \BL[SetProtocol] \\ selected protocol stored in %V9
- \IV9+Q[\GB[Menu]] \\ back to files menu if no protocol
- Enter name of file to download: `
- \RV0[38]{ \\ read filename into %V0
- \II+"\,%V0[\IVL-2[\GB[Menu]]] \\ need user level = 2 if "\" in filename
- \II-"\,%V0[\SV0[%V5%V0]] \\ Otherwise, add host file path to name.
- \II-*,%V0[\II-?,%V0[\FE-%V0[File not found.{ \GB[Menu] ]]]
- Sending: %V0{
- Protocol: <%V9>{
- Start the download on your end now.{
- \IV9+A[Press <Return> when ready: \WL{] \\ expect <CR> if ASCII download
- \UL%V9-[%V0] \\ send file %V0 using protocol %V9
- \IV9+A[^K] \\ send <Ctrl-K> to close ASCII download
- { Download `\IT+[successful. |ELSE unsuccessful.] {
- \GB[Menu]
-
- |Upload
- \BL[SetProtocol] \\ selected protocol stored in %V9
- \IV9+Q[\GB[Menu]] \\ back to files menu if no protocol
- Enter name of file to upload: `
- \RV0[38]{
- \IV0+[\GB[Menu]] \\ back to menu if no filename entered
- \II+"\,%V0[\IVL-2[\GB[Menu]]] \\ if "\" in filename, require level 2
- \II-"\,%V0[\SV0[%V5%V0]] \\ Otherwise, add host file path to name.
- \II-.,%V0[\SV0[%V0.]] \\ Add "." to filename if not there
- \FE+%V0[File already exists.{ \GB[Menu]] \\ go back if file already here
- Receiving: %V0{
- Protocol: [%V9]{
- Start the upload on your end now.{
- \PA[3] \\ wait 3 secs before expecting file
- \DL%V9-[%V0] \\ receive file %V0 using protocol %V9
- { Upload `\IT+[successful. |ELSE unsuccessful.] {
- \GB[Menu]
-
- |SetProtocol \\ returns the protocol letter selected, in %V9
- \SV8[AXC1YG] \\ set %V8=all possible protocol letters
- \IP+K[\SV8[%V8`K]] \\ add 'K' to list if Kermit available
- \IP+L[\SV8[%V8`L]] \\ add 'L' to list if Megalink available
- \IP+P[\SV8[%V8`P]] \\ add 'P' to list if MPt available
- \IP+S[\SV8[%V8`S]] \\ add 'S' to list if Sealink available
- \IP+Z[\SV8[%V8`Z]] \\ add 'Z' to list if Zmodem available
- ``````````=================={
- `````````` Protocol Choices{
- ``````````------------------{
- \II+A,%V8[ <A> ASCII{]
- \II+C,%V8[ <C> CRC-Xmodem{]
- \II+G,%V8[ <G> G-Ymodem{]
- \II+K,%V8[ <K> Kermit{]
- \II+L,%V8[ <L> Megalink{]
- \II+P,%V8[ <P> MPt{]
- \II+S,%V8[ <S> Sealink{]
- \II+X,%V8[ <X> Xmodem{]
- \II+Y,%V8[ <Y> Ymodem{]
- \II+Z,%V8[ <Z> Zmodem{]
- \II+1,%V8[ <1> 1K-Xmodem{]
- `````````` <Q> QUIT{
- ``````````=================={
- Your selection: `\RV9[1]
- \IV9+Q[\EB]
- \II+%V9,%V8[\EB] \\ if selection is ok, then end block.
- Sorry, protocol <%V9> is not available.{
- \GB[SetProtocol]
-
- |ZipView
- \iv3+modem[\ca-[\gb[cycle]]]\SV1[]
- Available .ZIP files:{
- \DC[dir %V5*.zip /w > %B:#hosttmp.fil]
- \svz[%B:#hosttmp.fil] \bl[list] \\ List file contents to screen
- Enter name of ZIP file to view: `
- \RV9[8] \SV9[%V5%V9]
- \FE-%V9.ZIP[File '%V9.ZIP' doesn't exist.{ \GB[Menu]]
- \DC[pkunzip -v %V9 > %B:#hosttmp.fil]
- \svz[%B:#hosttmp.fil] \bl[list] \\ List file contents to screen
- \GB[Menu]
-
- |OperatorPage
- \iv3+modem[\ca-[\gb[cycle]]]\SV1[]
- \II+%HR,01,02,03,04,05,06,07,08[Operator not available at this hour!{\GB[Menu]]
- Paging operator for 20 seconds ...{
- \SV8[%VF] \LV8[10] \\ set %V8 = first 10 letters of caller's first name
- \DM1[ ╔═══════════════════════════════════════╗ ]
- \DM2[ ║ Host Mode OPERATOR BEING PAGED ║ ]
- \DM3[ ╠═══════════════════════════════════════╣ ]
- \DM4[ ║ <G> = Gossip with %V8``````` ║ ]
- \DM5[ ║ <Tab> = SYSOP Menu ║ ]
- \DM6[ ║ <Esc> = ABORT Host Mode ║ ]
- \DM7[ ║ Any other key if 'not available now'.║ ]
- \DM8[ ╚═══════════════════════════════════════╝ ]
- \AV[7] \AL2[20] \AV[0] {{
- \RE[\IK+[\EM]] \\ Wait for any (local) keypress. If key='G', go to
- \IE+%IK,G[\GB[Gossip]] \\ Gossip block. (Tab&Esc are handled as interrupts.)
- Sorry, the operator isn't available now.{
- \GB[Menu]
-
- |Gossip
- \gb[chat]
-
- |Chat
- \UM[| Chated with sysop ]
- \ZS{Chat between @VF and Sysop {{Hello? {{
- \TO[100] \\ set 100-second timeout for each line
- \gb[ChatLines] \\ get message, line-by-line
-
- |ChatLines
- \iv3+modem[\ca-[\gb[cycle]]]
- \ST[ » Press < "/ > to End Chat «] \KO[0]
- \re[\IV8+"/[\em] \RV8+[74] \IV8+"/[\em] ] \\ read line of text into %V8
- \GB[Menu] \\ ... and loop back for more.
-
- |Shell
- \UM[| Host user Jumped to DOS.]
- {{
- \IV3+LOCAL[\JD \GB[Menu]] \\ if Local Host test, just Jump to DOS.
- \FE+%B:DOORWAY.EXE[\GB[Doorway]] \\ Branch if doorway.exe found.
- Type "EXIT" to return to BOYAN-Host.{
- \SV0[%B:#hosttmp.bat] \\ Create a new batch file #HOSTTMP.BAT
- \FE+%V0[\DC[del %V0]] \\ which has three lines:
- \AF%V0[CTTY COM%MD] \\ CTTY COM1 (or COM2,COM3,COM4)
- \AF%V0[COMMAND] \\ COMMAND
- \AF%V0[CTTY CON] \\ CTTY CON
- \DC[%B:#hosttmp] \\ Then execute the batch file.
- \GB[Menu]
-
- |Doorway
- Switch into the DOORWAY module of your communications program now, %VF.{
- \DC[%B:DOORWAY COM%MD /V:D /L: /M:60 /S:* /C:dos] \\ invoke DOORWAY 60mins
- \GB[Menu]
-
- |Shutdown
- Are you sure you want to Shut Down the host (y/N) ? `
- \RV0[1]{
- \IV0-Y[\GB[Menu]]
- BOYAN Host shut down.{
- \IV3+MODEM[\PA[2]\HU] \\ Pause & hang up.
- \PA[2] \\ 2-second pause...
- \AB \\ Abort script (goes to *WRAPUP block)
-
- |NewPassword
- Please type your current password (asterisks will echo): `
- \RV8*[15]
- \IV8-%VP[Wrong password!{ \GB[Menu]]
- Type the new password you would like: `
- \RV8*[15]
- \IV8+[Blank passwords are not allowed.{ \GB[Menu]]
- Type this password again to confirm: `
- \RV9*[15]
- \IE-%V8,%V9[Your passwords didn't match!{ \GB[Menu]]
- \UM[| Caller changed password]
- Your password has been changed.{
- \SVP[%V8]
- \TM%VI[%VN;%VP;%VL;%VE] \\ store change in host user base
- \GB[Menu]
-
- |WrongPassword
- Sorry, too many attempts.{
- \UM[| Incorrect password '%V0'; user denied entrance.]
- \GB[LogOff]
-
- |LogOff
- {Thank you for using BOYAN host!{{
- \IV3+MODEM[\PA[5]\HU~~~]
- \GB[Cycle]
-
- |Cycle \\ This block runs between all calls.
- \IV3+MODEM[\HU \PL] \\ hang up & purge line if MODEM connection
- \DM1,[Host cycled %VN at %HR:%MI.]
- \UM[| Disconnected after %SL] \\ add host.use message
- \PA[3] \SVN[] \SN[] \\ Erase the username from %VN
- \GB[WaitForCall]
-
- |*TAB \\ This runs automatically when <Tab> pressed
- \IVO+waiting[\sv9[FHJVWPRST]] \\ available menu options if no caller logged in
- \IVO+in-use[\sv9[CFGHJLVWPRST]]\\ available menu options if caller IS logged in
- \IE-%AN,HOST[\AM[H]\EC+\LF+] \\ make sure we're using Host module
- \IV3+MODEM[\PL]
- \SV8[%VF] \LV8[10] \\ set %V8 to caller's first name (10 letters)
- \KS \SV0[3]
- ``````````\DM12,%V0[ ╔═══════════════════════════════════════╗ ] \+V0[1]
- ``````````\DM12,%V0[ ║ SYSOP MENU %HR:%MI Boyan Host Mode ║ ] \+V0[1]
- ``````````\DM12,%V0[ ╠═══════════════════════════════════════╣ ] \+V0[1]
- \II+C,%V9[\DM12,%V0[ ║ <C> = Cycle Host (Hang Up) ║ ] \+V0[1] ]
- \II+F,%V9[\DM12,%V0[ ║ <F> = DOS File Manager ║ ] \+V0[1] ]
- \II+G,%V9[\DM12,%V0[ ║ <G> = Gossip with %V8``````` ║ ] \+V0[1] ]
- \II+H,%V9[\DM12,%V0[ ║ <H> = Host configuration section ║ ] \+V0[1] ]
- \II+J,%V9[\DM12,%V0[ ║ <J> = Jump to DOS ║ ] \+V0[1] ]
- \II+L,%V9[\DM12,%V0[ ║ <L> = Change caller's user Level ║ ] \+V0[1] ]
- \II+P,%V9[\DM12,%V0[ ║ <P> = Change modem Parameters ║ ] \+V0[1] ]
- \II+S,%V9[\DM12,%V0[ ║ <S> = Scroll-back buffer ║ ] \+V0[1] ]
- \II+T,%V9[\DM12,%V0[ ║ <T> = Toggle 43/50-line mode (EGA/VGA)║ ] \+V0[1] ]
- \II+V,%V9[\DM12,%V0[ ║ <V> = View HOST.USE usage log ║ ] \+V0[1] ]
- \II+W,%V9[\DM12,%V0[ ║ <W> = View COMMENTS.HOS comment file ║ ] \+V0[1] ]
- ``````````\DM12,%V0[ ╟───────────────────────────────────────╢ ] \+V0[1]
- \II+R,%V9[\DM12,%V0[ ║ <R> = RESUME Host Mode ║ ] \+V0[1] ]
- ``````````\DM12,%V0[ ║<Esc>= ABORT Host Mode ║ ] \+V0[1]
- ``````````\DM12,%V0[ ╚═══════════════════════════════════════╝ ]
- \KO[30] \BB+ \KV0_[SYSOP OPTION: ] \BB- \RS
- \II-%V0,%V9[\GB[*TAB]]
- \IV0+R[\ST[Continuing script...] \IVO+in-use[\GB[Menu] | \GB[WaitForCall]] ]
- \IV0+C[\GB[LogOff]]
- \IV0+G[\GB[Gossip]]
- \IV0+L[\GB[ChangeUserLevel]]
- \IV0+F[\FM[%V4]]
- \IV0+H[\CB[A] \IE-%AN,HOST[\AM[H]] ]
- \IV0+J[\JD]
- \IV0+P[\CM]
- \IV0+W[\DC+[%LC %V4`COMMENTS.HOS]]
- \IV0+S[\RB]
- \IV0+T[\GL*]
- \IV0+V[\DC+[%LC %UN]]
- \GB[*TAB]
-
- |ChangeUserLevel
- \KS
- \DM1[ ╔═══════════════════════════════════════╗ ]
- \DM2[ ║ Setting Caller's User Level ║ ]
- \DM3[ ╠═══════════════════════════════════════╣ ]
- \DM4[ ║ <0> - New user (limited access) ║ ]
- \DM5[ ║ <1> - Regular (messages & files) ║ ]
- \DM6[ ║ <2> - SYSOP (Jump to DOS, etc.) ║ ]
- \DM7[ ║ ( Press <Esc> to quit Host Mode. ) ║ ]
- \DM8[ ╚═══════════════════════════════════════╝ ]
- \KVL%VL[New level for %VF: ] \RS
- {%VF, your user level is now %VL.{
- \TM%VI[%VN;%VP;%VL;%VE] \\ store change in host user base
- \GB[Menu]
-
- |*WRAPUP
- \IE-%AN,HOST[\EB]
- \DM1[ ╔═══════════════════════════════════════╗ ]
- \DM2[ ║ Host Mode Finished. ║ ]
- \DM3[ ╠═══════════════════════════════════════╣ ]
- \DM4[ ║ ║ ]
- \DM5[ ║ Press <Alt-I> to re-invoke host. ║ ]
- \DM6[ ╚═══════════════════════════════════════╝ ]
- \UF- \IVU-[\UF+[%VU]] \\ close HOST.USE log; reopen prev. log.
- \BB+ \AV[7] \\ sound effects back on
- \AM[%VR] \\ change back to previous action module
- \SV1[\AL3[0"] \RC \SK- \UM[| Disconnected after "%SL"]]
-