   ; Example script to eject users with a definable delay
   ; Press F8 to start the script from HyperNode
   ; Press F9 to cancel ejects
   6
   16
   ; 6 variables
   ; 14 lines of code
   -
   -
   -
   -
   %Q
   HN_MSG
   ; variable init
   #SECS
     %S"%B02"13%B15
     ; get number of seconds till now, and run code in variable 15
   #FKEY B
     %I"Enter node to eject: ":"%B08"11%Q
     ; F8 = get input from user
   #FKEY C
     %G"%B14"!"-":"!eventactive"%C"^MEvent not active!"%Q
     ; check to see than an event is actually active
     !eventactive
     %S"%%Q"15%S"-"14%S"-"12%O"&SENDMSG %B11 /Boot stopped!"16%S"-"11
     ; if so, send a message to the node...
     !
     %C"^NEvent stopped!"%Q
     ; ...and to SysOp
   #INPUT
     %O"&ISVAR %B02"16%G"%B07"="ISVAR":"!variableok"%C"Numbers only!"%S"-"12%Q
     ; did user enter a number?
     !variableok
     %G"%B12"="-":"!2nd question"
     ; check to see if we have already got the node number
     !
     %G"%B14"!"-":"!error"
     ; you cannot eject user twice
     !starttimer
     %S"%B13"14%U"%B14"+"%B12"14
     ; make a clock/timer counting seconds
     !
     %S"%%G""%%B13"">""%%B14"":""!boottime""%%Q"15
     ; edit code in variable 15 to update the clock
     !
     %O"&SENDMSG %B11 /Your node will be booted in %B12 seconds!!"16%Q
     ; tell user he is being ejected
   !2nd question
     %O"&ISACTIVE %B11"16%G"%B07"="ISACTIVE":"!nodeok"%C"Node not active!"%Q
     ; is the node active?
     !nodeok
     %I"Enter number of seconds delay before eject: ":"^@"12%Q
     ; get the number of seconds
   !boottime
   %S"%%Q"15%O"&SENDMSG %B11 /Your node is being booted now!"16
     ; tell user he is being booted
     !
     %S"-"14%O"&SENDMSG %B11 !"16%S"-"11%S"-"12%Q
     ; boot the user (! on a line by itself = eject)
   !error
     %C"^MBoot already in progress, use F9 to stop!"%Q
     ; display an error message if attempted to eject twice
