hello, your request is contradictory, it is not doable.:)
it is fine, you apply the traffic outbound but not inbound, otherwise network will down.
VLAN 10 can only comunicate with some specifics IPs and ports on VLAN 20;
VLAN 20 can NOT communicate with other VLANs;
VLAN 30 can communicate with all VLANs;
VLAN20 cannot communicate with other VLANS, but your first request and third request both need VLAN 20 reply packets . how can it be archived?

maybe you have to double confirm your request.