Position Object 1,60,3,-40 is your problem, you're placing your object to an absolute position from inside your main loop, so when you try to move it, it will just return to 60,3,-40
Here, I've placed it after Make Object Box 1,1,1,1
set display mode 1024,768,32
sync on
backdrop off
hide mouse
set text size 15
load bsp "level.pk3","q3dm7.bsp"
set camera range 0.1,1000
autocam off
position camera 65,3,-40
make object box 1,1,1,1
position object 1,60,3,-40
do
text 0,0,"Fps"
text 0,20,"X Pos"
text 0,40,"Y Pos"
text 0,60,"Z Pos"
text 50,0,str$(Screen Fps())
text 50,20,str$(camera position x())
text 50,40,str$(camera position y())
text 50,60,str$(camera position z())
rotate camera camera angle x()+(mousemovey()/5.0),camera angle y()+(mousemovex()/5.0),0
if upkey()=1
move object 1,0.1
endif
if downkey()=1
move object 1,-0.1
endif
sync
loop
Programming anything is an art, and you can't rush art.
Unless your name is Bob Ross, then you can do it in thirty minutes.