I have been thinking about safety. The script supplied by Bryanna is slow but safe. The auto script lines move the Z axis up clear the tallest workpiece. In most cases there will then be a lot of clearance to be traveled while probing.
The DazTheGas script is faster because it estimates the extra clearance and travels it at high speed, but it could crash the tool into the touch pad if the tool table length entry is too short.
A compromise would be to start the probing by assuming the longest tool length and making a rapid move to put the tip of that tool some small safety margin away from the pad. Then do the slow probing move to the pad. Shorter tools still will have some extra distance to travel.
The distance to travel at high speed could be calculated by mounting the longest tool and setting Z to 0. The existing script sets Z to 0 before showing the message 'Now in Tool Change Position. Hit Cycle Start!'
Measure the distance to the touch pad and then subtract the desired safety margin.
Add the new line between existing lines as shown below.
mc.mcCntlSetLastError(inst, "Probing in Progress!")
mc.mcCntlGcodeExecuteWait(inst, " G91 Z-xx.x") -- xx.x = distance from the pad to the longest tool minus a safety margin
mc.mcCntlGcodeExecuteWait(inst, " G91 G31 Z-5. F5.")--probe the new tool