how do you setup multi probe points?

I'm running Duet 2 1.04 wifi with Bltouch on an ender 3.
So my current bed.g has 4 points setup like so
; Probe the bed at 4 points
G30 P0 X50 Y50 H0 Z99999 ;G30 P0 X20 Y20 H0 Z99999
G30 P1 X50 Y185 H0 Z99999 ;G30 P1 X20 Y215 H0 Z99999
G30 P2 X185 Y185 H0 Z99999 ;G30 P2 X215 Y215 H0 Z99999
G30 P3 X185 Y50 H0 Z99999 S ;G30 P3 X215 Y20 H0 Z99999 S
M98 Pretractprobe.g ; retract mechanical Z probehow would I expand this to 16 points?
Also on a side note the does the bed mesh limits axis limits seem right in the config.g for the ender 3?
; Axis Limits
M208 X5.5 Y10 Z0 S1 ; Set axis minima
M208 X258.5 Y246 Z260 S0 ; Set axis maximaM557 X50:185 Y50:185 S65 ; Define mesh grid

SO after some reading the line ((M557 X50:185 Y50:185 S65 ; Define mesh grid )) The S65 means the machine will sample 65 points from mesh grid?

Your bed.g has nothing to do with mesh probing. Bed.g is called by G32, but i assume you use G29 for mesh probing. So M557 comes in play here. S parameter (in your case 65) means probe points spacing, or let say measurement between probe points. So if you want more points, set it for example 20 or so.

The S parameter is the sample intervals in mm. In your case, your X and Y ranges are 50 to 185 (135mm intervals) so for example a spacing of 27mm will result in 5 x 5 sampling grid.

Thanks for the info however something is off. When I run the G29 S0 the hotend will move right taking samples and continue off the bed. Why is it doing this?

Please have a look at this: https://duet3d.dozuki.com/Wiki/Using_mesh_bed_compensation