Even though I'm still new grin , I can offer advice on how I would do it.

For different terrain detection, I would try creating invisible low polygon entities over different terrain that will control camera shake movement variables, walking speed vars & sound upon collision or detection.