1. Find the height of the matrix tile your on, and the matrix tile nearest to you in the direction you are facing (maths) Find your angle, and then find the size of each matrix square which then you will end up with the nearest tile in the direction you are facing. Find out what the height is of the tile you are on, and the one nearest to you. If the one nearest to you is more then X then bighill=1 If moving=1 and bighill=1 then speed#=speed -1. Keep increasing speed as you move, and this will get you to slowly move faster, as long as you MOVE OBJECT 1,speed#. Do the opposite for downhill.
2. Firstly, have both settings for each camera. Then, control them with a variable.
If inkey$()="f" then FirstPerson=1
If inkey$()="p" then 3rdPerson=1
If FirstPerson=1
Position Your Camera Here
Endif
If 3rdPerson=1
Position Your Camera Here
Endif
Hope that helps a bit
RPGamer