On the checkout page add a new checkbox called pickup set the checked value to 1:
<input name="pickup" type="checkbox" id="local" value="1">
on the confirm page, create a hidden form element by the same name, set it to get the initial value form the checkbox on the checkout page:
<input name="pickup" type="hidden" id="local" value="<?php echo((isset($_POST["pickup"]))?$_POST["pickup"]:"") ?>">
now on the confirm page, add a sest session value server behavior to capture the pickup form element value. SDet the trigger to any form post, the name to pickup and get the value from the pickup form element:
<?php
if (!session_id()) session_start();
if($_SERVER["REQUEST_METHOD"] == "POST") {
$_SESSION["pickup"] = "".((isset($_POST["pickup"]))?$_POST["pickup"]:"") ."";
}
?>
in the shipping rule add another trigger:
Based on session variables value:
if the Session Variable "pickup" is "<>" a value of "1"