An old phone book works well as a random number generator. Only use the last four digits (area codes and the first three numbers aren't random enough - there'll be lots of repeats of the same numbers using those). Start at the top of a page, with the first available number; if it's outside the range needed (say, for example, it's a "9" and you're rolling a 1d6), just move on to the next number in turn until you get a number within the required range. Cross off unused numbers and circle the valid numbers as they're used so you know where you left off.

As new "rolls" are required, someone calls off a number from 1-4 (or whatever) and the person with the phone book drops down that many lines to get to the next random number. (This prevents the person using the phone book from being able to look ahead and see whether a good number is coming up for the next roll.)

For percentile dice, use the above method to get to a number and then use the number immediately after it to get the second digit. As with actual percentile dice, "00" = 100.

For a 1d20 roll, use the above method to get to a number and then use the number immediately after it to determine whether or not you add +10 to that number: if the second digit is odd, you don't (and use the unmodified first digit as your final result); if the second digit is even, add 10 to the first digit to get your end result.

For a 1d12 roll, use the same system as for the 1d20 roll, but your first digit has to fall between 1-6 and the number immediately afterwards determines whether you add +6 to the total or not.

Johnathan