I have not tested it.
Make monster follow player :
There is
movetogoal(float) function for monster to move by a fraction to the goal. I im not sure if it this fraction is fraction of distance or just time delta; if it is the first, then you compute fraction by by
delta time or frame time / ( vlen(goal - monster position)/velocity of monster ) =
frame time / time to reach goal =
fraction to reach goal.
Not sure what "goal" parameter for monsters is, so try target or goal.
How to make waypoints :
never did them. And you probably know how to make them. I guess they are just entities which you spawn with some classname, probably "there_walks_an_invisible_player". And you spawn them places where enemies should go; simple version could be
spawn at regular intervals, or detect
player passing edge = traceline between players current position and last waypoint does not have trace_fraction 1 (comes with a nice feature of monsters falling to the lava if player is on bridge ...

monsters in Quake do some zig zagging to avoid this, it is somewhere in monsters ai in original Quake C ... ).
It makes me wonder, whether there is not a library for making waypoints automatically ...
Or not waypoints, areas (polyhedrons, polygons ...), where monsters could freely move, looks better to me (monsters is free to move anywhere inside it; if it should pass border then it you check if other area is fine [you can memorize which areas are adjacent and fine

]; if you plan which path to choose, then nodes for pathfinder are not waypoints but these adjacent areas).
Article on areas
http://www.cs.uu.nl/docs/vakken/mpp/oth ... _fails.pdf . Oh, and it is called Navigation Mesh

.