You beat me to that one, but I'll just clarify by pointing out that:
!(vehicle player != player)
is exactly the same as:
(vehicle player == player)
Logic thankfully hasn't changed at all between SQS and SQF, just the programming structures that use them (so you would use "? condition : stuff" in the archaic SQS, where you'd use "if (condition) then { stuff };" in shiny new SQF).