Voila pour mon jeu en ligne j'ai fait une belle fonction qui gère le temps qu'il fait sur la carte. Le principe c'est qu'elle s'exécute toutes les 24H pour que le temps change, le problème c'est qu'elle est lourde et que je ne voudrai pas que ce soit un utilisateur qui la lance grâce à une petite manipe (j'ai fait ca pour le bot, il "joue" quand un joueur se connecte et que ca fait 12h qu'il, le bot, a pas "joué")
Il faut qu'elle s'execute une fois par jour à 3h sans intervention de ma part.
Comme indiqué dans le titre je n'ai pas accès au cron (et pas à la commande linux non plus) alors comment faire?
Je fais suivre ma fonction meteo pour ceux que ca interesse
PS le temps d'exécution de cette fonction est supérieur à 10 sec et elle est amenée à être améliorée et à traiter plus de données...
function meteo ()
{
$ndf = 1; //nombre de figures rentrées en array
$figs = array();
//syntaxe level x y
//le rond
$figs[0] = array();
//zone noire
$figs[0][0] = array();
$figs[0][0][0] = 5;
$figs[0][0][1] = 0;
$figs[0][0][2] = 0;
//zone bleue
$figs[0][1] = array();
$figs[0][1][1] = -1;
$figs[0][1][2] = -1;
$figs[0][2] = array();
$figs[0][2][1] = 0;
$figs[0][2][2] = -1;
$figs[0][3] = array();
$figs[0][3][1] = -2;
$figs[0][3][2] = 0;
$figs[0][4] = array();
$figs[0][4][1] = -1;
$figs[0][4][2] = 0;
$figs[0][5] = array();
$figs[0][5][1] = 1;
$figs[0][5][2] = 0;
$figs[0][6] = array();
$figs[0][6][1] = -2;
$figs[0][6][2] = 1;
$figs[0][7] = array();
$figs[0][7][1] = -1;
$figs[0][7][2] = 1;
$figs[0][8] = array();
$figs[0][8][1] = 0;
$figs[0][8][2] = 1;
$figs[0][9] = array();
$figs[0][9][1] = 1;
$figs[0][9][2] = 1;
$figs[0][10] = array();
$figs[0][10][1] = -1;
$figs[0][10][2] = 2;
$figs[0][11] = array();
$figs[0][11][1] = 0;
$figs[0][11][2] = 2;
//zone rouge
$figs[0][12] = array();
$figs[0][12][1] = -1;
$figs[0][12][2] = -2;
$figs[0][13] = array();
$figs[0][13][1] = 0;
$figs[0][13][2] = -2;
$figs[0][14] = array();
$figs[0][14][1] = 1;
$figs[0][14][2] = -1;
$figs[0][15] = array();
$figs[0][15][1] = 2;
$figs[0][15][2] = 0;
$figs[0][16] = array();
$figs[0][16][1] = 2;
$figs[0][16][2] = 1;
$figs[0][17] = array();
$figs[0][17][1] = 1;
$figs[0][17][2] = 2;
$figs[0][18] = array();
$figs[0][18][1] = 0;
$figs[0][18][2] = 3;
$figs[0][19] = array();
$figs[0][19][0] = 3;
$figs[0][19][1] = -1;
$figs[0][19][2] = 3;
$figs[0][20] = array();
$figs[0][20][1] = -2;
$figs[0][20][2] = 2;
$figs[0][21] = array();
$figs[0][21][1] = -3;
$figs[0][21][2] = 1;
$figs[0][22] = array();
$figs[0][22][1] = -3;
$figs[0][22][2] = 0;
$figs[0][23] = array();
$figs[0][23][1] = -2;
$figs[0][23][2] = -1;
//zone jaune
$figs[0][24] = array();
$figs[0][24][1] = -1;
$figs[0][24][2] = -3;
$figs[0][25] = array();
$figs[0][25][1] = 0;
$figs[0][25][2] = -3;
$figs[0][26] = array();
$figs[0][26][1] = 1;
$figs[0][26][2] = -2;
$figs[0][27] = array();
$figs[0][27][1] = 2;
$figs[0][27][2] = -1;
$figs[0][28] = array();
$figs[0][28][1] = 3;
$figs[0][28][2] = 0;
$figs[0][29] = array();
$figs[0][29][1] = 3;
$figs[0][29][2] = 1;
$figs[0][30] = array();
$figs[0][30][1] = 2;
$figs[0][30][2] = 2;
$figs[0][31] = array();
$figs[0][31][1] = 1;
$figs[0][31][2] = 3;
$figs[0][32] = array();
$figs[0][32][1] = 0;
$figs[0][32][2] = 4;
$figs[0][33] = array();
$figs[0][33][1] = -1;
$figs[0][33][2] = 4;
$figs[0][34] = array();
$figs[0][34][1] = -2;
$figs[0][34][2] = 3;
$figs[0][35] = array();
$figs[0][35][1] = -3;
$figs[0][35][2] = 2;
$figs[0][36] = array();
$figs[0][36][1] = -4;
$figs[0][36][2] = 1;
$figs[0][37] = array();
$figs[0][37][1] = -4;
$figs[0][37][2] = 0;
$figs[0][38] = array();
$figs[0][38][1] = -3;
$figs[0][38][2] = -1;
$figs[0][39] = array();
$figs[0][39][1] = -2;
$figs[0][39][2] = -2;
//zone verte
$figs[0][40] = array();
$figs[0][40][1] = -1;
$figs[0][40][2] = -4;
$figs[0][41] = array();
$figs[0][41][1] = 0;
$figs[0][41][2] = -4;
$figs[0][42] = array();
$figs[0][42][1] = 1;
$figs[0][42][2] = -3;
$figs[0][43] = array();
$figs[0][43][1] = 2;
$figs[0][43][2] = -2;
$figs[0][44] = array();
$figs[0][44][1] = 3;
$figs[0][44][2] = -1;
$figs[0][45] = array();
$figs[0][45][1] = 4;
$figs[0][45][2] = 1;
$figs[0][46] = array();
$figs[0][46][1] = 4;
$figs[0][46][2] = 1;
$figs[0][47] = array();
$figs[0][47][1] = 3;
$figs[0][47][2] = 2;
$figs[0][48] = array();
$figs[0][48][1] = 2;
$figs[0][48][2] = 3;
$figs[0][49] = array();
$figs[0][49][1] = 1;
$figs[0][49][2] = 4;
$figs[0][50] = array();
$figs[0][50][1] = 0;
$figs[0][50][2] = 5;
$figs[0][51] = array();
$figs[0][51][1] = -1;
$figs[0][51][2] = 5;
$figs[0][52] = array();
$figs[0][52][1] = -2;
$figs[0][52][2] = 4;
$figs[0][53] = array();
$figs[0][53][1] = -3;
$figs[0][53][2] = 3;
$figs[0][54] = array();
$figs[0][54][1] = -4;
$figs[0][54][2] = 2;
$figs[0][55] = array();
$figs[0][55][1] = -5;
$figs[0][55][2] = 1;
$figs[0][56] = array();
$figs[0][56][1] = -5;
$figs[0][56][2] = 0;
$figs[0][57] = array();
$figs[0][57][1] = -4;
$figs[0][57][2] = -1;
$figs[0][58] = array();
$figs[0][58][1] = -3;
$figs[0][58][2] = -2;
$figs[0][59] = array();
$figs[0][59][1] = -2;
$figs[0][59][2] = -3;
//DEV boucles pour gagner du temps
$car4 = 0;
while($car4 < 10) //zone bleue
{
$car4++;
$figs[0][$car4][0] = 4;
}
$car3 = 11;
while($car3 < 22) // zone rouge
{
$car3++;
$figs[0][$car3][0] = 3;
}
$car2 = 23;
while($car2 < 38) //zone jaune
{
$car2++;
$figs[0][$car2][0] = 2;
}
$car1 = 39;
while($car1 < 59) //zone verte
{
$car1++;
$figs[0][$car1][0] = 1;
}
//SUITE DEV FINIR ZONES
$ndf--;
$sql1 = mysql_query("SELECT count(*) FROM map");
$sql2 = mysql_result($sql1, 0, 0);
$nbact = floor($sql2 / 60);
$curseur = 0;
$arid = array();
$caid = -1;
while($nbact > $curseur)
{
$rdf = rand(0, $ndf);
$sql3 = mysql_query("SELECT x, y FROM meteo ORDER BY rand() LIMIT 1");
$sql4 = mysql_fetch_array($sql3);
$c2 = -1;
$rtemps = rand(0, 3);
if($rtemps == 0) { $temps = 'brouillard'; }
if($rtemps == 1) { $temps = 'neige'; }
if($rtemps == 2) { $temps = 'pluie'; }
if($rtemps == 3) { $temps = 'pluie'; }
while($c2 < 59)
{
$c2++;
$xf = $sql4['x'] + $figs[$rdf][$c2][1];
$yf = $sql4['y'] + $figs[$rdf][$c2][2];
mysql_query("UPDATE meteo SET temps = '".$temps."', level = '".$figs[$rdf][$c2][0]."' WHERE y = '".$yf."' AND x = '".$xf."'");
$asql1 = mysql_query("SELECT id FROM meteo WHERE y = '".$yf."' AND x = '".$xf."'");
$asql2 = mysql_fetch_array($asql1);
$caid++;
$arid[$caid] = $asql2['id'];
}
$curseur++;
}
$bsql1 = mysql_query("SELECT id FROM meteo");
while($bsql2 = mysql_fetch_array($bsql1);)
{
$c3 = -1;
$verrif = 0;
while($c3 < $caid)
{
$c3++;
if($arid[$c3] == $bsql2['id'])
{
$verrif = 1;
}
}
if($verrif == 0)
{
mysql_query("UPDATE meteo SET temps = 'beau', level = '0' WHERE id = '".$bsql2['id']."'");
}
}
mysql_query("UPDATE meteo SET temps = 'beau', level = '0' WHERE temps = 'null'");
}