ok, since i posted to slow simsmall said what i was going to say. so now i will talk about a way to make this system
dim bullet(20) as integer 'bullet id's, dont worry, 0-20 aren't going to be their object ids
dim bulletactive(20) as integer 'are they active? do we need to move them?
dim bulletlife(20) as integer
'alright, now let's use the new system
if mouseclick()=1 and bullets<=0
fire=0
text 100,100,"OUT OF AMMO"
endif
if mouseclick()=1 and bullets>0 then fire=1
if fire=1
bullets=bullets-1
'get empty bullet and position it
emptybullet=getemptybullet()
position object emptybullet,x#,y#,z#
set object to camera orientation emptybullet
bulletactive(emptybullet)=1
bulletlife(emptybullet)=timer
fire=0
endif
'loop through objects, find out if they're active, if they are, move them
for movebullets=99 to 99+20
if bulletactive(movebullets)=1 then
move object movebullets,30
if timer-bulletlife(movebullets)>=2000 then 'has it been moving for 2 or more seconds?
bulletactive(movebullets)=0
end if
end if
next
that is untested, sorry if it doesn't work completely
like simsmall suggested, you might want to do something with the bullets not in use. another thing is before you use this, you need to create the spheres 99-120.
you can do it like this
for makebullets=99 to 120
make object sphere makebullets,10 'replace 10 with the size you want.
next
common people are walking in line.