Always use floats for object positions, the 'set camera to follow' was being given integers.
And thanks for commenting out media
REM +++++++++++++++++PRELOADINGSEQUENCE++++++++++++++++++
SYNC RATE 0
sync on
REM LOADING OF IMAGES
rem load image "textures\mud1.bmp",1
REM END OF IMAGE LIST
REM MAKE THE WORLD
make matrix 1,1000,1000,10,10
randomize matrix 1,30
rem prepare matrix texture 1,1,1,1
position matrix 1,0,0,0
update matrix 1
REM END OF THE WORLD....HAHAHA
REM position camera 1,100,1
`MAKE THE ACTOR
MAKE OBJECT CUBE 2,4
GHOST OBJECT ON 2
POSITION OBJECT 2,500,100,500
SYNC
REM ++++++++++++END OF PRELOAD+++++++++++++++++
REM ++++++++++THE MAIN PROGRAM LOOP+++++++++++
DO
GOSUB PLAYERMOVEMENT
REM PLANETGRAVITY
SYNC
loop
REM ++++++++++END OF MAIN PROGRAM LOOP++++++++++++++++++++
REM ++++SUBROUTINES AND FUNCTIONS++++++++++++++++++++++++++
REM ++++++++PLAYER MOVEMENT++++++++++++++++++++++++++++++++
PLAYERMOVEMENT:
REM SET INDIVIDUAL GRAVITY
GOSUB PLAYERGRAVITY
REM END OF GRAVITY
REM CONSTANTS
OBJECT_SPEED#=1
PXPOS#=OBJECT POSITION X(2)
PYPOS#=OBJECT POSITION Y(2)
PZPOS#=OBJECT POSITION Z(2)
PANGY#=OBJECT ANGLE Y(2)
REM END OF CONSTANTS
REM SET THE CAMERA TO FOLLOW THE PLAYER
SET CAMERA TO FOLLOW PXPOS#,PYPOS#,PZPOS#,PANGY#,15,10,1,1
REM END OF CAMERA
REM MOVE PLAYER
IF UPKEY()=1 THEN MOVE OBJECT 2,OBJECT_SPEED#
IF DOWNKEY()=1 THEN MOVE OBJECT 2,-OBJECT_SPEED#
IF LEFTKEY()=1 THEN ROTATE OBJECT 2,0,(PANGY#)-1,0
IF RIGHTKEY()=1 THEN ROTATE OBJECT 2,0,(PANGY#)+1,0
IF SPACEKEY ()=1 THEN MOVE OBJECT UP 2,2
RETURN
REM +++++++END OF PLAYER MOVEMENT++++++++++++++++++++++
REM ++GRAVITY FIX FOR ABOVE WALKING THROUGH GROUND PROBLEM
PLAYERGRAVITY:
REM DECLARE CONSTANTS
PPZ#=OBJECT POSITION Z(2)
PPX#=OBJECT POSITION X(2)
PGLEVEL# = GET GROUND HEIGHT (1,PPX#,PPZ#)
PULL#=1
A=2
REM END DECLARE OF CONSTANTS
IF OBJECT EXIST (A)
IF OBJECT POSITION Y(A)>PGLEVEL#+3 THEN MOVE OBJECT DOWN A,PULL#
IF OBJECT POSITION Y(A)<PGLEVEL#+3 THEN MOVE OBJECT UP A,PULL#
ENDIF
RETURN
REM ++++++END OF GRAVITY FIX++++++++