Try this. I set this up so it doesn’t use actual arrays, but you can also use CS arrays which is probably the more “proper” way to do it.
*create dave 0
*label loop
*fake_choice
*if (dave=0) #talk to dave
*gosub dave0
*set dave +1
*if (dave>0) #talk to dave again
*gosub {"dave"&dave}
*goto loop
*label dave0
some text
*return
*label dave1
some more text
*return