Quote: " the message i get is "cant load object "guy.x" in line 9"
I don't get that message - I get "Object does not exist at line 15". That error is correct because you don't have an object 3.
I've just tested your code using the "hero" model (confusingly called "ROOMDEMO.X" on my machine

) and your code works fine - as long as you don't try to refer to the non-existent object 3.
Meshes are NOT objects - they are used to create objects using
make object. Any reason why you are using
load mesh rather than
load object?
I suspect the reason why you are getting an error at line 9 is that your "guy.x" model is in the wrong folder. It should be in the project folder along with the dba file and other media.
The following works for me (it looks odd because the objects need positioning and scaling and the camera needs to be repositioned). Note the line I've added.
sync on
sync rate 60
make object cube 1,25
make matrix 1,500,500,50,50
position matrix 1,0,0,0
load image "red spot.bmp",1
prepare matrix texture 1,1,50,50
make object sphere 2,25
load mesh "roomdemo.x",3
load image "Col_z.TGA",2
make object 3, 3, 2 ` added this line
do
CX=camera position X()
CY=camera position Y()
CZ=camera position Z()
OX=object position X(3)
OY=object position Y(3)
OZ=object position Z(3)
RO=object angle X(3)
LO=object angle Y(3)
MX=mousex()
MY=mousey()
MZ=mousez()
position camera OX+100,35,OZ
point camera OX,35,OZ
if keystate(17)=1 then move object 1,2
if keystate(30)=1 then turn object left 1,2
if keystate(31)=1 then move object 1,-2
if keystate(32)=1 then turn object right 1,2
sync
loop