по поводу обнуления счетчика. конкретно в его задаче. там нужно ОГРАНИЧИВАТЬ. потому, что если он его обнулит в ТОМ МЕСТЕ, то даблклик не сработает никогда. ОБНУЛЯТЬ счетчик надо при выполнении действия, в завершение вот вам пример счетчков кликов.
на первый квадрат надо кликать один раз
на второй два
на третий три

Graphics 800,600,32,2
SetBuffer BackBuffer()
SetFont LoadFont("Times New Roman",24,1)
mclick=0 ; Число кликов
While Not KeyDown(1)
;Копировать отсюда
md1=MouseDown(1) ;
md2=MouseDown(2) ;
If md1
mu_tm=0
md_tm=md_tm+1
If md_tm>15 Then mclick=0
If md1_dn
mclick=mclick+1
If mclick=1 Then mfcx=MouseX():mfcy=MouseY()
If mclick=2
If Abs(mfcx-MouseX())>3 Or Abs(mfcy-MouseY())>3 Then mclick=0
EndIf
md1_dn=0
EndIf
Else
md1_dn=1
md_tm=0
mu_tm=mu_tm+1
If mu_tm>15 Then mclick=0
EndIf
;И до сюда
If chn1 Then Color 0,255,255 Else Color 255,0,0
Rect 100,100,100,100
If chn2 Then Color 255,0,255 Else Color 0,255,0
Rect 300,100,100,100
If chn3 Then Color 255,255,0 Else Color 0,0,255
Rect 500,100,100,100
Color 0,0,0
Text 150,150,"1",1,1
Text 350,150,"2",1,1
Text 550,150,"3",1,1
;Обработка/ ето важно понять
If MouseY()>100 And MouseY()<200
If MouseX()>100 And MouseX()<200
If mclick=1
chn1=1-chn1 ;что то сделаем
mclick=0 ;ОБНУЛИМ счетчик здесь! а не где нибудь еще
EndIf
EndIf
If MouseX()>300 And MouseX()<400
If mclick=2
chn2=1-chn2 ;что то сделаем
mclick=0 ;ОБНУЛИМ счетчик здесь! а не где нибудь еще
EndIf
EndIf
If MouseX()>500 And MouseX()<600
If mclick=3
chn3=1-chn3 ;что то сделаем
mclick=0 ;ОБНУЛИМ счетчик здесь! а не где нибудь еще
EndIf
EndIf
EndIf
Flip
Wend
здесь откоментен самый главный участок (чуть изминенная версия)
http://likosoft.ucoz.ru/forum/29-116-1