[255D[40m
[0;1;31m5. [32mYou need to write 2 text files and 2 batch files.
[8C[33mA. [37mOne text file and one batch file will be used when users
[8C[33mENTER [37mthe room, and the other text and batch files will be used
[8Cwhen they [33mEXIT[37m.

[11C[36m(a) The ENTER files;
[14Centry batch <pcin.bat> is simply -

[6C@echo off
[6Ccopy c:\sbbs\xtrn\pcsuprt\pcin.txt c:sbbs\node%1\moduser.dat > nul


[14C[37mThe [33mENTER [37mtext file is a [35m17 line long text file [37m<pcin.txt>,
[14Call lines blank except the affected flag areas. See the
[14C[32mMODUSER.DAT [37mexample in the [34mSynchronet [37mmanual, right before the
[14CGlossary) for contents. On the "[31mFlags #3 to remove[37m" line,
[14Ctype in the flag ("A" was mine) that is to be removed -
[14Cthis takes away the user's main board access. On the
[14C"[31mFlags #4 to add[37m" line, type in the flags for the room
[14C("A" was mine) to turn on John's access to this room's
[14Cfunctions.

[11C[36m(b)  The EXIT files;
[14Cexit batch <rmreset.bat> -

 @echo off
 copy c:\sbbs\xtrn\pcsuprt\rmreset.txt c:\sbbs\node%1\moduser.dat > nul

[14C[37mThe exit text file is the same as the entry file except it
[14Creverses the accesses. [33mIt removes room access flags and
[14Creplaces main board access flags[37m. Since Flag Set 4 is
[14Calways going to be used from room Access Requirements on
[14Cmy system, I use the same "[35mrmreset.txt[37m" for all rooms. [32mIt
[14Cremoves ANY/ALL Flags from Set 4, and ADDS the main board
[14Caccess FLAG 3A[37m. (Yours may be handled completely differently.)
[14C> Each room requires both *.bat files and both *.txt files.

[14CYou have now written external programs, and [34mSynchronet
[14C[37mONLY looks for and reads [35mmoduser.dat [37mfiles on returning
[14Cfor external programs that have been configured in [34mSCFG[37m,
[14Cso now...

[31m6. [34mGoto SCFG > External Programs > External Programs [37mand add your
external program wherever in that setup you want it. Give it a memorable
name so that if you end up with lots of doors, you'll know what's what.

[8C[36ma. [32mIn the external program setup screen set:
[13C[35m>  [37mthe name of the external program, internal code, startup
[16Cdirectory (C:\sbbs\xtrn\pcsuprt), command line (very
[16Cimportant) "pcin %#", MultiUser-Yes, Modifies User data
[16C- Yes. Drop file none.

[13C[35m>  [37mDo the same for the exit rmreset.bat file. You'll have two
[16Cexternal programs for each room and call each from
[16Cbaja - one before entering mymod.bin, and one after
[16Cexiting mymod.bin.

[13C[35m>  [37mSet the Access Level to 90+ so noone can see them from
[16Cthe BBS.


[31m7. [37mModify the main command shell that will call the room to include a
way [32m<keystrokes> [37mto call it. If you're going to have more than one,
add a room selection menu, or add them to your main menu. Whatever you want.

[24C[33m------------------------

[32mThat's it! You now have a room! [37mThe external programs [34mrun lightning fast
[37mand don't display to remote users, so they don't even know it's
happening.

[36mThere's one other external program [37m(batch file and text file) that you
should write. [33mSome users will undoubtedly drop carrier (hang up) [37mwhile
in a room without going through the exit.bat procedure, so their flags
will be wrong the next time they log in. One way to prevent this is to
add code in mymod.src so that after they press [35m"O" or "/O" [37m(while IN the
room), but before [32m"logoff" [37mor [32m"logoff_fast"[37m, the rmreset xtrn is called
to reset their accesses to "normal".

[32mBut, in my command shell, just before :main, I placed code to test the
user's Flag 3A, and if he doesn't have it, it calls the rmreset external
program to return his accesses to "normal"[37m. Hopefully, this [33mprevents
screwed up accesses [37mif [34mmymod.bin [37mhas undetected defects, or if the
user's accesses get warped by another module or room.

[36mHow complicated can you make it[37m? Well, you can nest these rooms as deep
as you can conceive. [34mBBS within BBS within BBS[37m, room within room within
room! ([33mCareful of your baja calls though. Don't get lost![37m)

[34mRooms done with this method require no unusual handlings [37min the board
itself. It stays the same except for [32mARS access settings[37m. So you'll
never corrupt or misplace a message base or library.

[31mPower users can request an account that you toggle all room accesses
permanently ON in their accounts [37mand they never have to go into a room,
or they can have special access to another command shell that has no
rooms.
[0m
