And yet, another one....
Here is a link to one that I wrote to do an Instance Audit. It shows all users and roles assigned by database, and their individual permissions. Change the variable (@outputtype) and it prints out the assignment statements for the permissions.
Hope it helps.
http://www.sqlservercentral.com/Forums/Topic1226870-359-1.aspx#bm1230153