.·°( Finnigann said this to -oblivious- )°·.
re:hangup problems in the command shell...
Dunno if this being too snotty... but could we see the code?
James King, Coldwater, Mi And that's JIM to you guys!
no, not snotty at all... well....hm....
the current version i have is ripped off of one of the included
cmd shells, with a few additions.
uh...this is pretty messy.. be carefull for what you wish for:
sorry this is SO BIG!!
here it goes, i'd appreciate any help!
# DEFAULT.SRC
:top
!include sbbsdefs.inc
# Set return point for main menu commands (via end_cmd)
cmd_home
# Display TEXT\MENU\MAIN.* if not in expert mode
:main
compare_user_misc UM_EXPERT
if_false
cls
menu eob\MAIN
end_if
# Update node status
node_action node_main
async
inc_main_cmds
# Display main Prompt
exec_bin "rumors"
crlf
print "\r|15M|07ain |15M|07enu |14[|04@TLEFT@|14]:"
#compare_ars exempt T
#if_true
# print "@TUSED@"
#else
# print "@TLEFT@"
# end_if
#print " [@GN@] @GRP@ [@SN@] @SUB@: "
# Get key (with / extended commands allowed)
compare_user_misc UM_COLDKEYS
if_false
getkeye
else
getstrupr 60
endif
compare_ars RIP
if_true
getlines
end_if
# Do nothing for control keys and space
cmdkey ^@
end_cmd
cmdkey ^M
end_cmd
cmdkey ^S
end_cmd
cmdkey "
end_cmd
# Write command to log file
logkey_comma
# Hitting number changes current sub-board
cmdkey digit
compare_user_misc UM_COLDKEYS
if_false
ungetkey
end_if
msg_get_sub_num
end_cmd
# Hitting /number changes current group
cmdkey edigit
compare_user_misc UM_COLDKEYS
if_false
ungetkey
else
shift_str 1
end_if
msg_get_grp_num
end_cmd
# Show the key hit
compare_user_misc UM_COLDKEYS
if_false
printkey
endif
# Next sub-board
cmdkey }
msg_subboard_up
end_cmd
# Previous sub-board
cmdkey {
msg_subboard_down
end_cmd
# Next group
cmdkey ]
msg_group_up
end_cmd
# Previous group
cmdkey [
msg_group_down
end_cmd
# String commands start with a semicolon
cmdkey ;
compare_user_misc UM_COLDKEYS
if_true
shift_str 1
else
getstrupr 40
end_if
exec_bin str_cmds
end_cmd
# Sysop Menu
#cmdkey /!
#compare_ars SYSOP or EXEMPT Q or I or N
#if_true
#exec_XTRN "DOSSHELL"
#end_cmd
# end_if
cmdkey /Q
msg_qwk
end_cmd
cmdkey N
setstr "1"
mail_send_feedback
end_cmd
cmdkey _
exec_bin "bullseye"
end_cmd
cmdkey /O
exec_xtrn "wall"
end_cmd
cmdkey .
printfile "c:\sbbs\text\morecmds.ans"
end_cmd
cmdkey /?
exec_bin "help"
end_cmd
cmdkey /@
SETSTR "rasta"
PAGE_GURU "rasta"
end_cmd
CMDKEY /X
EXEC_XTRN "SYNCREG"
END_CMD
cmdkey F
chkfile "..\text\menu\tmessage.*"
if_true
menu tmessage
end_if
call file_transfers
end_cmd
compare_user_misc UM_COLDKEYS
if_false
crlf
end_if
pause_reset
# Menu
cmdkey ?
compare_user_misc UM_expert
if_true
menu main
end_if
end_cmd
# Sysop Menu
compare_ars SYSOP or EXEMPT Q or I or N
if_true
cmdkey !
menu sysmain
end_cmd
end_if
# Commands
cmdkey O
xtrn_section
end_cmd
cmdkey A
cls
PRINTFILE "C:\SBBS\TEXT\AUTOMSG.ANS"
auto_message
end_cmd
cmdkey /R
# print "\r\nBrowse/New Message Scan\r\n"
# msg_browse_scan
exec_xtrn "rumors"
end_cmd
cmdkey B
# print "\r\nBrowse/New Message Scan\r\n"
# msg_browse_scan
exec_xtrn "sbl"
end_cmd
cmdkey /W
printfile "C:\SBBS\TEXT\WATCH.ANS"
end_cmd
cmdkey C
chat_section
end_cmd
cmdkey P
user_defaults
end_cmd
CMDKEY Y
PRINTFILE "C:\SBBS\TEXT\USERINFO.ANS"
END_CMD
cmdkey E
call E-mail
end_cmd
#cmdkey F
# print "\r\nFind Text in Messages\r\n"
# msg_find_text
# end_cmd
cmdkey /S
exec "*shit"
end_cmd
cmdkey F
msg_find_text_all
end_cmd
cmdkey G
text_file_section
end_cmd
cmdkey I
call main_info
end_cmd
cmdkey J
msg_select_area
end_cmd
#our dosshell
cmdkey /!
exec_xtrn "dosshell"
end_cmd
cmdkey /L
nodelist_all
end_cmd
cmdkey $
minute_bank
end_cmd
cmdkey M
cmd_pop
goto message
end_cmd
cmdkey N
print "\r\nNew Message Scan\r\n"
msg_new_scan
end_cmd
cmdkey /N
msg_new_scan_all
end_cmd
cmdkey G
file_download_batch
if_true
end_cmd
end_if
logoff
end_cmd
cmdkey /G
file_download_batch
if_true
end_cmd
end_if
logoff_fast
end_cmd
#cmdkey P
# msg_post
# end_cmd
cmdkey /Q
msg_qwk
end_cmd
cmdkey R
msg_read
end_cmd
cmdkey S
print "\r\nScan for Messages Posted to You\r\n"
msg_your_scan
end_cmd
cmdkey /S
msg_your_scan_all
end_cmd
cmdkey U
#print "\r\nList Users\r\n"
#mnemonics "\r\n~Logons Today, ~Sub-board, or ~All: "
#getcmd LSA\r
#
#cmdkey L
# userlist_logons
# end_cmd
#cmdkey S
# userlist_sub
# end_cmd
#cmdkey A
userlist_all
end_cmd
# fall-through for CR, Ctrl-C, etc
end_cmd
cmdkey /U
userlist_all
end_cmd
cmdkey Z
print "\r\nContinuous New Message Scan\r\n"
msg_cont_scan
end_cmd
cmdkey /Z
msg_cont_scan_all
end_cmd
cmdkey *
msg_show_subboards
end_cmd
cmdkey /*
msg_show_groups
end_cmd
cmdkey /P
goto main_cfg
end_cmd
cmdkey #
print "\r\nType the actual number, not the symbol.\r\n"
end_cmd
cmdkey /#
print "\r\nType the actual number, not the symbol.\r\n"
end_cmd
# fall through
print "\r\nUnrecognized command."
compare_user_misc UM_expert
if_true
print " Hit '?' for a menu."
end_if
crlf
end_cmd
# shouldn't hit next line
print "Problem in command shell you should probably log of and call back." pause
goto main
###################################### message area ####################### :message
cmd_home
compare_ars expert
if_false
cls
menu EOB\MESSAGE
end_if
# Update node status
node_action node_main
async
# Display main Prompt
print "|08[|14@GRP@|07]|08─|07(|11@SN@|07)|08-|08[|14@SUB@|07]\r\n" #compare_ars exempt T
#if_true
# print "Time Used: [@TUSED@] "
#else
print "Time Left: [@TLEFT@] "
end_if
#print "(?=Help)\r\nMessage Menu : "
# Get key (with / extended commands allowed)
compare_user_misc UM_COLDKEYS
if_false
getkeye
else
getstrupr 60
endif
# Do nothing for control keys and space
cmdkey ^@
end_cmd
cmdkey ^M
end_cmd
cmdkey ^S
end_cmd
cmdkey "
end_cmd
# Write command to log file
logkey_comma
# Hitting number changes current sub-board
cmdkey digit
compare_user_misc UM_COLDKEYS
if_false
ungetkey
end_if
msg_get_sub_num
end_cmd
# Hitting /number changes current group
cmdkey edigit
compare_user_misc UM_COLDKEYS
if_false
ungetkey
else
shift_str 1
end_if
msg_get_grp_num
end_cmd
# Show the key hit
compare_user_misc UM_COLDKEYS
if_false
printkey
endif
cmdkey ?
compare_ars expert
if_true
cls
menu EOB\MESSAGE
end_if
end_cmd
cmdkey Q
cmd_pop
goto main
end_cmd
cmdkey [
msg_subboard_down
end_cmd
cmdkey ]
msg_subboard_up
end_cmd
compare_user_misc UM_COLDKEYS
if_false
crlf
end_if
pause_reset
cmdkey A
msg_show_subboards
end_cmd
cmdkey /A
msg_show_groups
end_cmd
cmdkey C
chat_section
end_cmd
cmdkey /L
nodelist_all
end_cmd
cmdkey N
msg_new_scan
end_cmd
cmdkey R
msg_read
end_cmd
cmdkey P
msg_post
end_cmd
cmdkey F
cmd_pop
goto file_transfers
end_cmd
cmdkey S
print "\r\nSearch for Text in Messages\r\n"
msg_find_text
end_cmd
cmdkey U
userlist_sub
end_cmd
cmdkey G
file_download_batch
if_true
end_cmd
end_if
logoff
end_cmd
cmdkey /G
file_download_batch
if_true
end_cmd
end_if
logoff_fast
end_cmd
cmdkey E
print "\r\nE-mail (User name or number): "
getname 25
compare_str ""
if_true
end_cmd
end_if
compare_str "SYSOP"
if_true
setstr "1"
end_if
mail_send
end_cmd
cmdkey J
msg_select_area
end_cmd
cmdkey Y
msg_your_scan_all
end_cmd
cmdkey P
msg_post
end_cmd
cmdkey #
print "\r\nEnter the number of the sub-board to change to.\r\n"
end_cmd
cmdkey /#
print "\r\nEnter the number of the message group to change to.\r\n"
end_cmd
# fall through
print "\r\nUnrecognized command."
compare_ars expert
if_true
print " Hit '?' for a menu."
end_if
crlf
end_cmd
############################### E-mail Section ################################
:e-mail
cmd_home
compare_user_misc UM_expert
if_false
menu E-MAIL
end_if
async
print "\r\nE-mail: "
getcmd ?SRFNUKQ\r
logkey
cmdkey ?
compare_user_misc UM_expert
if_true
menu E-MAIL
end_if
end_cmd
cmdkey S
print "\r\nE-mail (User name or number): "
getname 25
compare_str ""
if_true
end_cmd
end_if
compare_str "SYSOP"
if_true
setstr "1"
end_if
mail_send
end_cmd
cmdkey U
print "\r\nE-mail (User name or number): "
getname 25
compare_str ""
if_true
end_cmd
end_if
compare_str "SYSOP"
if_true
setstr "1"
end_if
mail_send_file
end_cmd
cmdkey R
mail_read
end_cmd
cmdkey F
setstr "1"
mail_send_feedback
end_cmd
cmdkey N
no_yes "\r\nAttach a file"
if_true
mail_send_netmail
else
mail_send_netfile
end_if
end_cmd
cmdkey K
mail_read_sent
end_cmd
cmdkey Q
cmd_pop
return
end_cmd
cmd_pop
return
############################ Main Info Section ###############################
:main_info
cmd_home
compare_user_misc UM_expert
if_false
menu MAININFO
end_if
async
print "\r\nInfo: "
getcmd ?QISVY\r
logkey
cmdkey ?
compare_user_misc UM_expert
if_true
menu MAININFO
end_if
end_cmd
cmdkey I
info_system
end_cmd
cmdkey S
info_subboard
end_cmd
cmdkey Y
info_user
end_cmd
cmdkey V
info_version
end_cmd
cmdkey Q
cmd_pop
return
end_cmd
cmd_pop
return
########################### Main Config Section ##############################
:main_cfg
compare_user_misc UM_expert
if_false
menu MAINCFG
end_if
async
print "\r\nConfig: "
getcmd ?QNPIS\r
logkey
cmdkey ?
compare_user_misc UM_expert
if_true
menu MAINCFG
end_if
goto main_cfg
end_cmd
cmdkey N
msg_new_scan_cfg
return
end_cmd
cmdkey S
msg_your_scan_cfg
return
end_cmd
cmdkey P
# msg_ptrs_cfg
msg_post
return
end_cmd
cmdkey I
msg_ptrs_reinit
return
end_cmd
return
########################### File Transfer Section #############################
:file_transfers
compare_ars file_cmds=0
if_true
compare_user_misc UM_ask_nscan
if_true
yes_no "\r\n\r\nSearch all libraries for new files"
if_true
file_new_scan_all
end_if
end_if
end_if
cmd_home
compare_user_misc UM_expert
if_false
cls
menu eob\TRANSFER
end_if
# Update node status
node_action node_xfer
async
inc_file_cmds
# Display main Prompt
print "\r\n■ File ■ "
#compare_ars exempt T
#if_true
# print "@TUSED@"
#else
# print "@TLEFT@"
# end_if
print " (@LN@) @LIB@ (@DN@) @DIR@: "
# Get key (with / extended commands allowed)
compare_user_misc UM_COLDKEYS
if_false
getkeye
else
getstrupr 60
endif
compare_ars RIP
if_true
getlines
end_if
# Do nothing for control keys and space
cmdkey ^@
end_cmd
cmdkey ^M
end_cmd
cmdkey ^S
end_cmd
cmdkey "
end_cmd
# Write command to log file
logkey_comma
# Hitting number changes current sub-board
cmdkey digit
compare_user_misc UM_COLDKEYS
if_false
ungetkey
end_if
file_get_dir_num
end_cmd
# Hitting /number changes current group
cmdkey edigit
compare_user_misc UM_COLDKEYS
if_false
ungetkey
else
shift_str 1
end_if
file_get_lib_num
end_cmd
# Show the key hit
compare_user_misc UM_COLDKEYS
if_false
printkey
endif
# Next directory
cmdkey >
file_directory_up
end_cmd
cmdkey ]
file_directory_up
end_cmd
cmdkey +
file_directory_up
end_cmd
cmdkey =
file_directory_up
end_cmd
# Previous directory
cmdkey <
file_directory_down
end_cmd
cmdkey [
file_directory_down
end_cmd
cmdkey -
file_directory_down
end_cmd
# Next library
cmdkey }
file_library_up
end_cmd
# Previous library
cmdkey {
file_library_down
end_cmd
# String commands start with a semicolon
cmdkey ;
compare_user_misc UM_COLDKEYS
if_true
shift_str 1
else
getstrupr 40
end_if
exec_bin str_cmds
end_cmd
cmdkey Q
cmd_pop
return
end_cmd
cmdkey /!
print "executing uploads.bat externally"
exec "start /m c:\sbbs\exec\upload.bat"
end_cmd
compare_user_misc UM_COLDKEYS
if_false
crlf
end_if
pause_reset
# Menu
cmdkey ?
compare_user_misc UM_expert
if_true
menu TRANSFER
end_if
end_cmd
# Sysop Menu
compare_ars SYSOP
if_true
cmdkey !
menu sysxfer
end_cmd
end_if
# Commands
cmdkey B
file_batch_section
end_cmd
cmdkey C
chat_section
end_cmd
cmdkey D
print "\r\nDownload File(s)\r\n"
file_download_batch
if_true
end_cmd
end_if
getfilespec
if_true
file_download
end_if
end_cmd
cmdkey /D
print "\r\nDownload File(s) from User(s)\r\n"
file_download_user
end_cmd
cmdkey E
print "\r\nList Extended File Information\r\n"
getfilespec
if_true
file_list_extended
end_if
end_cmd
#cmdkey F
# print "\r\nFind Text in File Descriptions (no wildcards)\r\n"
# file_find_text
# end_cmd
cmdkey F
file_find_text_all
end_cmd
cmdkey I
call file_info
end_cmd
cmdkey J
file_select_area
end_cmd
cmdkey L
setstr *.*
file_list
end_cmd
cmdkey /L
nodelist_all
end_cmd
cmdkey N
print "\r\nNew File Scan\r\n"
file_new_scan_all
#file_new_scan
end_cmd
cmdkey /N
file_new_scan_all
end_cmd
cmdkey G
file_download_batch
if_true
end_cmd
end_if
logoff
end_cmd
cmdkey /G
file_download_batch
if_true
end_cmd
end_if
logoff_fast
end_cmd
cmdkey R
print "\r\nRemove/Edit File(s)\r\n"
getfilespec
if_true
file_remove
end_if
end_cmd
cmdkey S
print "\r\nSearch for Filename(s)\r\n"
file_find_name
end_cmd
cmdkey /S
file_find_name_all
end_cmd
cmdkey T
file_temp_section
end_cmd
cmdkey U
print "\r\nUpload File\r\n"
chkfile "..\text\menu\upload.*"
if_true
menu upload
end_if
file_upload
end_cmd
cmdkey /U
print "\r\nUpload File to User\r\n"
file_upload_user
end_cmd
cmdkey V
print "\r\nView File(s)\r\n"
getfilespec
if_true
file_view
end_if
end_cmd
cmdkey Z
print "\r\nUpload File to Sysop\r\n"
file_upload_sysop
end_cmd
cmdkey *
file_show_directories
end_cmd
cmdkey /*
file_show_libraries
end_cmd
cmdkey &
:xfercfg
compare_user_misc UM_expert
if_false
menu XFERCFG
end_if
async
print "\r\nConfig: "
getcmd ?QBEP\r
logkey
cmdkey ?
compare_user_misc UM_expert
if_true
menu XFERCFG
end_if
goto xfercfg
end_cmd
cmdkey P
file_ptrs_cfg
end_cmd
cmdkey B
toggle_user_misc UM_BATCHFLAG
end_cmd
cmdkey E
toggle_user_misc UM_EXTDESC
end_cmd
end_cmd
cmdkey #
print "\r\nType the actual number, not the symbol.\r\n"
end_cmd
cmdkey /#
print "\r\nType the actual number, not the symbol.\r\n"
end_cmd
# fall through
print "\r\nUnrecognized command."
compare_user_misc UM_expert
if_true
print " Hit '?' for a menu."
end_if
crlf
end_cmd
# shouldn't hit next line
print "Problem in command shell you should probably hang up and call back." pause
goto main
############################ File Info Section ###############################
:file_info
cmd_home
compare_user_misc UM_expert
if_false
menu XFERINFO
end_if
async
print "\r\nInfo: "
getcmd ?TYDUQ\r
logkey
cmdkey ?
compare_user_misc UM_expert
if_true
menu XFERINFO
end_if
end_cmd
cmdkey T
info_xfer_policy
end_cmd
cmdkey Y
info_user
end_cmd
cmdkey D
info_directory
end_cmd
cmdkey U
userlist_dir
end_cmd
cmdkey Q
cmd_pop
return
end_cmd
cmd_pop
return
#end of DEFAULT.SRC
.─.┐─┐┬ .┬.┬ ┬.┬..─.┌ ┐.-.
│ :│─:: : : │ : │ :│ │└-.
`─'│_│┴┘·┴·`\/'·┴·`─':_:`─'
+o edge of oblivion bbs
telnet://eob_bbs.thebbs.org
... 42? 7 and a half million years and all you can come up with is 42?!
--- MultiMail/MS-DOS v0.35
■ Synchronet ■ ...edge of oblivion eob_bbs.thebbs.org