oh and you could make your own input command that only exepted even numbers under 100. so the user wouldn't be able to enter anything else

its not to hard.
you would just get the inkey$() then make sure its one of your numbers that are "Approved" and then add inkey$() to your variable(You could do this in a function so it would be the same as the input command) of course you would need a counter otherwise you will do this hundreds of times of a second(Depending on your fps)
Heres a small example:
Sync on
Sync rate 0
Print MyInput(0,0,"")
end
Function MyInput(X,Y,Var$)
Var$=Var$+"|"
Repeat
Rem Get the value of inkey$()
Add$=Inkey$()
Rem If Inkey is equal to something and you have waited long enough to put another character.
If add$>"" and keystate(14)=0 AND keystate(15)=0 and Counter>50
Rem add inkey and a marker for the front of the variable(will be taken out at the end)
Var$=Left$(Var$,Len(Var$)-1)
Var$=Var$+Add$+"|"
endif
If Keystate(14)=1 and bCounter>40
Var$=left$(Var$,Len(Var$)-2)
Var$=Var$+"|"
endif
Text X,Y,Var$
If counter>50 then counter=0
if bcounter>40 then bcounter=0
counter=counter+1
bcounter=bcounter+1
sync
cls
until returnkey()=1
Var$=Left$(Var$,len(Var$)-1)
endfunction var$
I couldn't get timer to work i don't know why so you might have to change the counter variables to get the timing right. but that is functional and has backspace and stuff. you could make the last "|" character flash(like in windows) i have done it before but i didnt feel it was needed. be sure to add the if keystate(14) and keystate(15) are equal to zero otherwise you will come out with a block character :/ aaahh lol
New Site! Check it out \/