2 Mr. Fixit
А если m4 будет равной m1? Если m2 == m1, то дальнейшие if вообще не выполнятся. Следуя этой логике надо пихать все это в цикл, что добавит проблем
Надо так:

Код:
function getNumArray($num:Number):Array {
if ($num<0) {
return;
}
var _result:Array = new Array();
for (var i:Number = 0; i<$num; i++) {
_result.push(i);
}
return _result;
}
function randomAdv($source:Array):Number {
var _index:Number = Math.floor(Math.random()*$source.length);
return $source.splice(_index,1)[0];
}
var _source:Array = getNumArray(10);
var m1:Number = randomAdv(_source);
var m2:Number = randomAdv(_source);
var m3:Number = randomAdv(_source);
var m4:Number = randomAdv(_source);
trace(m1+" "+m2+" "+m3+" "+m4);