This is the well known and extensively analysed "Social Golfer Problem".
The general question: is it possible to have X groups of Y people playing Z games, without anyone playing more than once with any other player, is an unsolved problem.
In your case though the numbers are relatively small, and with a little bit of trial and error I found one possible solution as:
[TABLE="width: 139"]
<tbody>[TR]
[TD]Event 1[/TD]
[/TR]
[TR]
[TD]A1, A2, B1, B2[/TD]
[/TR]
[TR]
[TD]A3, A4, B3, B4[/TD]
[/TR]
[TR]
[TD]A5, A6, B5, B6[/TD]
[/TR]
[TR]
[TD]A7, A8, B7, B8[/TD]
[/TR]
[TR]
[TD]A9, A10, B9, B10[/TD]
[/TR]
[TR]
[TD]A11, A12, B11, B12[/TD]
[/TR]
[TR]
[TD]Event 2[/TD]
[/TR]
[TR]
[TD]A2, A3, B6, B7[/TD]
[/TR]
[TR]
[TD]A4, A5, B8, B9[/TD]
[/TR]
[TR]
[TD]A6, A7, B10, B11[/TD]
[/TR]
[TR]
[TD]A8, A9, B12, B1[/TD]
[/TR]
[TR]
[TD]A10, A11, B2, B3[/TD]
[/TR]
[TR]
[TD]A12, A1, B4, B5[/TD]
[/TR]
[TR]
[TD]Event 3[/TD]
[/TR]
[TR]
[TD]A1, A4, B6, B11[/TD]
[/TR]
[TR]
[TD]A2, A5, B3, B10[/TD]
[/TR]
[TR]
[TD]A3, A7, B1, B5[/TD]
[/TR]
[TR]
[TD]A6, A10, B7, B12[/TD]
[/TR]
[TR]
[TD]A8, A11, B4, B9[/TD]
[/TR]
[TR]
[TD]A9, A12, B8, B2[/TD]
[/TR]
</tbody>[/TABLE]
Now just randomly allocate your players to the A1 to A12 and B1 to B12 slots.