Addaction assigns the action to an object/vehicle in the game. When you assign it to the particular player, anybody who steps inside a 5M (i think?) radius of the player can activate it. The simple soloution to this is to check who action belongs to, and if it isnt the correct player then to exit the script.
FOR EXAMPLE:
Use the follow line instead of just addaction.
?(Player == p1): p1 addaction["Detonate!","boom.sqs"]
Replace p1 with the name of the unit who is calling it.
The way this works is long winded.. if you would like an explination feel free to ask, otherwise ill save you the reading time.
BTW in the comref, the problem outlined has nothing to do with the problem you are experiencing. In order to remove an action menu from an object you have to refer to its ID. Unless you later want to remove an action you have added, you have no reason to worry about this
ADDITIONALLY.
From the sounds of things, you are trying to add the action to a car which only a certain player is permitted to unlock. instead of using triggers and etc, a much more efficient way is the following:
Insert the car which you want to have locked. In its init field you most likely have something like this:
this locked true
change that init line to read as this:
this locked true; ?(Player == p1): this addaction["Unlock Vehicle","unlock.sqs"]
This *SHOULD* (untested) let only p1 unlock the car when (s)he is in a 5 metre radius of the car.
Cheers
Adam