With this function you can define an area within a given ds_grid, then take those values and multiply them with those found in a separate region of either the same ds_grid, or another one (which has been previously created). The original region will remain unchanged, while the region that they have been multiplied with will now store the new values for each cell.
ds_grid_multiply_grid_region(index, source, x1, y1, x2, y2, xpos, ypos);
|xpos||The x position on the destination grid to multiply the source region with.|
|ypos||The y position on the destination grid to multiply the source region with.|
ds_grid_multiply_grid_region(mygrid, mygrid, 0, 0,
5, 5, 0, 0)
This would take the region of cells from (0,0) to (5,5) of the ds_grid "mygrid" and multiply them with the cells from position (0,0) of the same ds_grid.