home *** CD-ROM | disk | FTP | other *** search
/ GEMini Atari / GEMini_Atari_CD-ROM_Walnut_Creek_December_1993.iso / files / bbs / wrest151 / wesmenu.scr < prev    next >
Text File  |  1988-10-22  |  5KB  |  175 lines

  1. SCRIPT
  2. ; WRESMENU.SCR v1.0
  3. ; Mike Atkinson
  4. ; Tippy Express BBS
  5. ; (219) 453-4046  300/1200/2400
  6. ;
  7. ; Have gateway.tos in the same directory as BBS (bbs_path).  Put your
  8. ; gateway.set file for wrestling in your wrestling folder (wrestle_path).
  9. ; Everything that's written to must be on the same drive as BBS
  10. ; * Your hard drive will read/write slower as the pathname lengthens.
  11. ;  i.e. c:\bbs\games\wrestle\*.* is slower than c:\games\wrestle\*.*
  12.  
  13.  abort off
  14.  printe ' Press ? for menu'
  15.  
  16. SETUP:
  17.  clear variables
  18.  define bbs_log = 'printer'          ;or pathname to system log file
  19.  define bbs_path = 'c:\bbs\'                   ;path BBS is run from
  20.  define wrestle_path = 'c:\games\wrestle\'       ;Wrestle path
  21.  define cutoff = 5       ; minutes left after which play is not allowed
  22.  
  23.  define %0               ; 1 key input for user selection
  24.  define pause            ; Dummy input, used to pause display
  25.  define access           ; for level routine
  26.  define user_log         ; For log print routine     LOGPRINT
  27.  define docfile          ; For file printer routine  DOCPRINT
  28.  define fc               ; Variable for file copy
  29.  integer cd              ; Variable for directory changes
  30.  define prompt           ; prompt for command routine
  31.  define option           ; where command routine looks for choice
  32.  define time_used_call         ; for time limit routine
  33.  define time_left_call         ;
  34.  define time_used_day          ;
  35.  define time_left_day          ;
  36.  define time_on                ;
  37.  define time_ok                ;
  38.  define time_per_call = '&13'  ;
  39.  define time_per_day = '&14'   ;
  40.  define time_before = '&15'    ;
  41.  define spc_date               ; for empire new day routine
  42.  define spc_day                ;
  43.  define today_date = '&24'     ;
  44.  define date                   ; for empire status routine
  45.  
  46.  user_log = 'Enters game menu'       ;if you want to know when callers
  47.  gosub logprint                      ;enter games area
  48.  
  49. TOP:
  50.  prompt = '\r\iFWF Wrestling\o\b\v\{123-GX?\}:\v'
  51.  option = 'WRESTLE'
  52.  
  53. COMMAND:
  54.  abort off
  55.  printe
  56.  print '\b\o(&32 min) [prompt]'  ; Hold the cursor on this line
  57.  if time_exceeded       ;check time limit every time game prompt prints
  58.   printe                ;blank line between game and BBS prompt
  59.   exit                  ;let BBS log them off
  60.  endif
  61.  get_key %0             ;get callers choice
  62.  goto [option]          ;goto the appropriate if/ef choice routine
  63.  
  64. LOGPRINT:
  65.  open '[bbs_log]'                    ;logs callers activity
  66.  fprinte '  &23 [user_log]'
  67.  close
  68.  return
  69.  
  70. DOCPRINT:
  71.  printe
  72.  printe ' < Control-S to Pause,\vControl-X to Abort >'
  73.  printe
  74.  view '[docfile]'                    ;formats text output
  75.  return
  76.  
  77. TIMELIMIT:
  78.  increase cutoff
  79.  if &29 = 300                        ;if 300 baud, cut them off
  80.   cutoff = [cutoff] + 5              ;5 minutes sooner
  81.  endif
  82.  time_ok = Y
  83.  time_on = &32
  84.  time_left_call = [time_per_call] - [time_on]
  85.  if time_left_call < cutoff
  86.   printe '\n Sorry, you don\"t have enough time\vduring this call to play.'
  87.   time_ok = N
  88.  endif
  89.  time_used_day = [time_before] + [time_on] 
  90.  time_left_day = [time_per_day] - [time_used_day]
  91.  if time_left_day < cutoff
  92.   printe '\n Sorry, you don\"t have enough time\vleft for today to play.'
  93.   time_ok = N
  94.  endif
  95.  return
  96.  
  97.  
  98. HIACCESS:
  99.  if command_level (2)
  100.  access = Y
  101.  else
  102.   printe
  103.   printe ' You\"re access level is not high\venough to play this game.'
  104.   access = N
  105.  endif
  106.  return
  107.  
  108. INVALID:
  109.  printe 'Enter ? For Menu...'        ;what happens upon invalid command
  110.  goto command                        ;choice
  111.  
  112. WRESTLE:
  113.  if %0 = '?'                         ;choices for FWF Wrestling 
  114.   printe 'Help!'
  115.   goto menuwrestle
  116.  
  117.  ef %0 = 1
  118.   print 'Play FWF Wrestling? \{y,N\}: '
  119.   goto playwrestle
  120.  
  121.  ef %0 = 2
  122.   printe 'FWF Wrestling News'
  123.   docfile = '[wrestle_path]news.asc'               ;! FWF Wrestling news file
  124.   gosub docprint
  125.   goto command
  126.  
  127.  ef %0 = 3
  128.   printe 'FWF Wrestling Scores'
  129.   docfile = '[wrestle_path]score.txt'             ;! FWF Wrestling score file
  130.   gosub docprint
  131.   goto command
  132.  
  133.  ef %0 = G
  134.   printe 'Exit To Game Menu...'
  135.   goto top
  136.  
  137.  ef %0 = X
  138.   printe 'Exit to BBS..'
  139.   exit
  140.  
  141.  endif
  142.  goto invalid
  143.  
  144. PLAYWRESTLE:
  145.  get_key %0
  146.  if %0 # Y
  147.   printe'No'
  148.   goto command
  149.  endif
  150.  printe 'Yes'
  151.   gosub hiaccess
  152.   if access = N
  153.   goto command
  154.   endif
  155.  gosub timelimit
  156.  if time_ok = N
  157.   user_log = '-->Attempts F.W.F. Wrestling after time limit!'
  158.   gosub logprint
  159.   goto command
  160.  endif
  161.  printe
  162.  printe ' Loading FWF Wrestling'
  163.  cd = file_chgdir '[wrestle_path]'
  164.  open 'passname.dat', output
  165.  fprinte '&01'
  166.  close
  167.  user_log = 'Plays FWF Wrestling'
  168.  gosub logprint
  169.  TOS '[bbs_path]gateway.tos'
  170.  GEM '[wrestle_path]wrestle.tos'                    ;! Wrestling prg filename
  171.  cd = file_chgdir '[bbs_path]'
  172.  goto command
  173.  
  174.  
  175. əəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəəə