No lo creo, en el juego nunca llega a transcurrir un año, lo que se veia era un error causado por la costumbre en java de inicializar variables, cosa no nesesaria en php, lo he borrado pero aun asi siguen saliendo mal las fechas, guardo la fecha de inicio del servidor en la base de datos y en base a esa fecha es que se calcula el tiempo pasado, es decir, si el servidor arranca hoy, entonces:
hoy: 27-04-09 -----> 01-09-39
a partir de alli el algoritmo comienza a calcular el equivalente entre la fecha actual y el inicio del servidor y su equivalente con respecto a 01-09-39.
Código:
function evaluateAll($year, $yearO, $month, $monthO, $day, $dayO, $ini){
//evaluando los meses
// se debe conocer cuantos meses han pasado desde iniciado el juego
// meses de 30 dias
$mesPas = $month-$ini; // esto siempre sera positivo
//calculo cuatos dias han pasado
$diasPas = $mesPas*30;
//devuelve los meses pasados 8
$difM = floor($diasPas/3);
// calculoMes = 09 + 8 = 17
$calMonth = $monthO + $difM;
//muestro los meses pasados
//echo($calMonth-9);
//si calculoMes > 12 true
if($calMonth > 12){
// mes = calculoMes - 12 = 17-12 = 5
$nMonth = $calMonth - 12;
// se incrementa un año
$masAños = $masAños +1;
//si no
}else{
//el mes es igual al calculado
$nMonth = $calMonth;
}
//calculo del año
$difYear = $yearO - $year;
$nYear = $year+$difYear;
$nYear = $nYear+$masAños;
//la fecha actual es
$nFecha = $day."-".$nMonth."-".$nYear;
return $nFecha;
}