Code:
firstRoll()
{
	self endon( "Go" );
	self waittill( "Go" );
}

Roll()
{
	for(;;)
	{
		self waittill_any_return( "Go" );
			
		for( i = 0; i < level.players.size; i++ )
		{
			self.GameOption = [];
			self.GameInput = [];
			self.GameOption[i] = level.players[i].name;
			self.GameFunction[i] = ::bringUpSelection;
			self.GameInput[i] = level.players[i];
			self thread [[self.GameFunction[self.Cursor]]]( self.menuInput[self.Cursor] );	
		}
	}
}

bringUpSelection( player )
{
	self endon( "DonePick" );
	player thread RollMoney();
	self waittill( "DoneRoll" );
	player thread keyboardGuess();
}

keyboardGuess();
{
	self notify( "DonePick" );
	if( self.DoneReally == 1 )
	{
		self notify( "Go" );
		self.Cursor++;
	}
}

doFade( time, alpha )
{
	self FadeOverTime( time );
	self.alpha = alpha;
}

RollMoney();
{
	randomMoney = randomInt( level.moneyValues.size );
	self.moneyGet = self createFontString( "objective", 2 );
	self.moneyGet setPoint("RIGHT", "CENTER", -2, 147);
	self.moneyGet setText( RandomMoney );
	self.moneyGet doFade( 1, 0 );
	self notify( "DoneRoll" );
	self.moneyGet destroy();
}
For the newest gametype. don't worry I didn't include some parts it'd give it away