Oh, pues, te sugiero usar una función que hace lo que estas indicando y luego hacer una matematica sencilla, mira este ejemplo
Código PHP:
Ver original<?php
$total_a_repartir = 20; // puntos a repartir
$cantidad_habilidades = 5; // cantidad de habilidades
$minimo_asignacion = 2; // cantidad minima que se le da a cada habilidad (evita el cero)
$habilidad = array_fill(1,$cantidad_habilidades,$minimo_asignacion); $total_a_repartir = $total_a_repartir - ($cantidad_habilidades * $minimo_asignacion);
for($max=$total_a_repartir;$max>0;$max--){
$punto_random = rand(1,$cantidad_habilidades); $habilidad[$punto_random]++;
}
?>