Okay, I thought you wanted the truck to disarm automatically once the players got near...
Jason O is almost correct, except for removing the action. There is also one other problem. Once a player is gets an addaction it will stick with him until the truck is disarmed, no matter where he is. A better solution is to add the action to the truck.
Trigger to disable the bomb in Condition:
({(BoomBus distance _x) < 4} count units myGroup) > 0 and not alive driver BoomBus and not GoBoom and not BoomDisabled
In OnActivation:
truck addaction ["Disarm Bomb","disarm.sqs"]
addAction, I recently learned myself, (see the comments in the comref) passes its own ID to the script it calls. So:
disarm.sqs
_truck = _this select 0
_actionid = _this select 2
_truck removeaction _actionid
; move the next 2 lines to the top so that no one else gets the "Defuse Bomb" action.
BoomDisabled = TRUE
publicVariable "BoomDisabled"
;must use switchmove for all players to see anim in MP
;maybe replace this with some sort of disarm looking animation using switchmove..
exit
For completeness add this to the Init for the truck (I am assuming the players are WEST):
this addEventHandler["GETIN", {_this exec "boombuscheck.sqs"}]
boombuscheck.sqs
_truck = _this select 0
_unit = _this select 2
if (side _unit == WEST) then {if (not BoomDisabled) then {GoBoom = TRUE ; publicVariable "GoBoom"} else {_truck removeEventHandler "GETIN"}}
exit
Now the truck will blow up if the players get in before disarming it. I gotta run so I don't have a chance to double check. Check this space again later for possible edits...