very dumb of me. all i had to do was remove the wrapvalue. i confused it with the angle command used to rotate the camera.
i included a little example of what i wanted in my game. I didnt want to put my full game code in b/c its like 30x the screen height
make matrix 1,2500,2500,10,10
update matrix 1
run#=0
w#=0
do
sync on
hide mouse
ox#=camera position x()
oy#=camera position y()
oz#=camera position z()
w#=w#+12
Rem Control input for camera
if upkey()=1 then move camera 5
run#=((sin(w#))*2)
if downkey()=1 then move camera -5
run#=((sin(w#))*2)
if downkey()=0:if upkey()=0
run#=0:w#=0
endif
endif
x#=camera position x()
y#=camera position y()+run#
z#=camera position z()
h#=get ground height(1,x#,z#)+15
position camera x#,y#,z#
loop