Indeed it's not a very simple task, esp. in three dimensions.
Without giving it much thought right now I would suggest you try to the following first:
- plane model, no bumps, like a grid/ converted from terrain
- try to find close nodes to a chosen position first, like 2d-distance (z component = 0) to player.x (you will need ent_getvertex for this, but keep in mind the result is in entity coordinates, that means you have to vec_to_ent the player position first and work with that result)
- highlight close vertices with for example draw_point3d
- in the next step, try to raise those vertices by some amount
- now try to make the deepness of the dent relative to the distance and smooth it out, trial and error approach


"Falls das Resultat nicht einfach nur dermassen gut aussieht, sollten Sie nochmal von vorn anfangen..." - Manual

Check out my new game: Pogostuck: Rage With Your Friends