If you really want 4 feet you can't use addaction to objects, cause the detect area is biggest than 4 ft.
A method:
U need :
In init.sqs
ObjectBodyvar addEventHandler ["killed",{_this exec "detectScript.sqs"}]
DetectScript.sqs
runScript = true
ActionIsInstall = false
Onarea = false
#Loop
~0.001
? !(runscript) : exit
if (ObjectBodyvar distance player < 4) then {Onarea = true} else {Onarea = false}
? Onarea && !(ActionIsInstall ) : ActionIsInstall = true;_ID = player addaction ["Take map", "Map.sqs"]
? !(Onarea) && ActionIsInstall :ActionIsInstall = false; player removeAction _ID
Goto "Loop"
Map.sqs
player removeAction _This select 2
hint "Yep! a map!"
runscript = false
showMap true
Not test.