Hello jCedborger,
Personally I wouldn't use an object as bullet normally. Unless I was using it for some physics-based engine.
I think the most simple way of do it is to point with the crosshair using "pick object" function and then when the player fires simulate the shot with a sound or some light but not an actual bullet.
I wrote this code that I think does what you described. Move player with left and right arrow, fire with left button.
//Simplest third person shooter
// by jfroco
//1.- Set up the screen
sync on
sync rate 0
backdrop on
color backdrop 0
autocam off
hide mouse
//2.-Create Hero
make object sphere 1,1
position object 1,0,0,-10
color object 1,rgb(128,0,0)
//3.-Create hero'scoordinates and speed
xHero as float=0.0
yHero as float=0.0
zHero as float=-10.0
speed as float=0.006
//4.-Create Enemies
for i=2 to 10
make object cube i,2
color object i,rgb(0,128,0)
position object i,rnd(20)-10,0,rnd(10)
next i
//5-. Create floor
make object box 11,50,1,50
position object 11,0,-1,0
color object 11,rgb(120,120,120)
//6.- Position Camera
position camera 0,5,-15
point camera 0,0,0
//7.- crosshair position
x as float
y as float
//8.-Main loop
do
//8.1.- Move the hero using left and right arrow keys
xHero = xHero-speed*leftkey()+speed*rightkey()
if xHero<-5 then xHero=-5
if xHero>5 then xHero=5
//8.2.- Draw hero
position object 1,xHero,yHero,zHero
//8.3.- Move crosshair using the mouse
x=mousex()
y=mousey()
//8.4.-Check if we are pointing to an enemy(obj 2 to 10 are enemies)
//if we are then turn the crosshair into an X
pointing=pick object (x,y,2,10)
if pointing>0
text x,y,"X"
else
text x,y,"O"
endif
//8.5.-If we are pointing to an object and fire (leftclick)
//destroy the object
if mouseclick()=1
if pointing>0 then delete object pointing
endif
sync
loop
end
I hope this helps.