onkey命令でキーが打たれたら、割り込んで判定していくという方法で
やったほうが簡単だと思います。
↓タイピングの参考スクリプト
randomize
score=0 //スコア
char="A","B","C","D","E","F","G" //A~G
mozi="" //入力する文字が代入される
count=0
c=0
time=1000
gosub *set_mozi //入力するの設定
onkey gosub *keyget //キー割り込みを有効にする
*main
redraw 0
color 255,255,255 :boxf
color
pos 0,0
mes ""+time
cx=ginfo_cx
cy=ginfo_cy
mes ""+mozi+"を打て"
color 255
pos cx,cy
mes ""+strmid(mozi,0,count) //打った文字を赤く表示
redraw 1
time--
if time<=0 :goto *GAMEOVER
wait 1
goto *main
*keyget
iprm=iparam
if peek(mozi,count)=iparam {
count++ //次の文字に移す
}
if count>=strlen(mozi) { //入力する文字と入力された文字が同じであれば次
color 255,255,255
boxf:color
pos 0,0
mes "OK"
wait 300
gosub *set_mozi
}
return
*set_mozi
time+=100 //タイムに100追加する
count=0
mozi=char(rnd(length(char))) //乱数で入力する文字設定
//mozi=char(c) //A→B→Cといって、最後にクリアならこの3行をコメントアウト
//c++
//if c>=length(char) :goto *GAMECLEAR
return
*GAMECLEAR
dialog "GAMECLEAR"
end
*GAMEOVER
dialog "GAMEOVER"
end