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