You have to code all the looking/moving yourself using the NewXvalue, NewYValue and NewZValue commands.
Also, for the buttons and movement, you just have to experiment with all of the possible buttons for the joystick, and see if DB reads them or not.
The furthest upgrade you can get is v1.13 with the Enhancement pack... patch v1.13 is free for download from this site, but the Enhancement pack costs.
For the lock-on, just use something like;
`Set-up code
Sync On : Sync Rate 0
AutoCam Off
`Set the total number of objects
totalobjects = 20
`Create Objects
For x = 1 To totalobjects
Make Object Cube x,Rnd(x*3) + 20
Position Object x,Rnd(1000),20,Rnd(1000)
Next x
`Position Camera
Position Camera 0,20,0
Point Camera 200,20,200
Do
Circle Screen Width()/2,Screen Height()/2,100
`Simple Camera Control
If UpKey() = 1 Then Move Camera 5
If DownKey() = 1 Then Move Camera -5
If RightKey() = 1 Then YRotate Camera WrapValue(Camera Angle Y() + 1)
If LeftKey() = 1 Then YRotate Camera WrapValue(Camera Angle Y() - 1)
`############ Lock-on Code #############
`If the 'l' key is pressed
If InKey$() = "l"
`Loops through for each objec
For x = 1 To totalobjects
`Checks if the object is on the screen ( no point locking onto something you can't see )
If Object In Screen(x) = 1
`Simply works out the distance between the centre of the screen to the object.
dist# = Sqrt((Object Screen X(x) - Screen Width()/2)^2 + (Object Screen Y(x) - Screen Height()/2)^2)
`Checks to see if the object is < 100 pixels from the centre of the screen,
`If it is, the camera is pointed at the object.
If dist# < 100 Then Point Camera Object Position X(x),Object Position Y(x),Object Position Z(x)
EndIf
Next x
EndIf
`############# End Lock-on COde ##########
Sync
Loop
But, you'll have to change it so that it uses the controls for the game pad.
Hope I Helped...
Jess.

Team EOD :: Programmer/Logical Engineer/All-Round Nice Guy