script 1: 
       :local i 0; {:do {:set i ($i + 1)} while (($i < 5) && ([/ping 64.233.169.99 interval=3 count=1]=0))};
       :if ($i=5 && [/ip route get [find comment="Default Route"] distance]=1) do={:log info "Main Gateway down"; 
        /ip route set [find comment="Default Route"] distance=3}
        /ip route set [find comment="3g"] disabled=no}
script 2: 
      :local i 0; {:do {:set i ($i + 1)} while (($i < 5) && ([/ping 64.233.169.99 interval=3 count=1]=1))}; 
      :if ($i=5 && [/ip route get [find comment="Default Route"] distance]=3) do={:log info "Main Gateway up"; 
      /ip route set [find comment="Default Route"] distance=1}
      /ip route set [find comment="3g"] disabled=yes}