Thanks for the reply DrByte.

I am slightly understanding these functions, and this is the following code i have.

PHP Code:
    function update_status() {
    global 
$order$db;

    if ( (
$this->enabled == true) && ((int)MODULE_PAYMENT_PAYPAL_ZONE 0) ) {
      
$check_flag false;
      
$check_query $db->Execute("select zone_id from " TABLE_ZONES_TO_GEO_ZONES " where geo_zone_id = '" MODULE_PAYMENT_PAYPAL_ZONE "' and zone_country_id = '" $order->billing['country']['id'] . "' order by zone_id");
      while (!
$check_query->EOF) {
        if (
$check_query->fields['zone_id'] < 1) {
          
$check_flag true;
          break;
        } elseif (
$check_query->fields['zone_id'] == $order->billing['zone_id']) {
          
$check_flag true;
          break;
        }
        
$check_query->MoveNext();
      }

      
// disable for certain shipping module only:
      
if ($_SESSION['shipping'] == 'auspost'$check_flag false;

      if (
$check_flag == false) {
        
$this->enabled false;
      }
    } 
But for some reason, the paypal module is still showing up after i click continue with "auspost" selected.