hallo,
ich bastel z.Z. an einem kleinen online spiel.
alle funktionen laufen soweit ganz gut.
nur eine funktion wird vom cronjob anders ausgeführt als wenn ich sie von hand aufrufe.
und das geht in meinen kopf nicht rein.
hier mal der scriptteil:
for($i=0; $i<=(count($haben_n)-1); $i++)
{
if($bedarf > 0)
{
$haben = explode('||' , $haben_n[$i]);
/// Nahrungs-Multiplikatoren ////
if(trim($haben[1])=="20") $multi=1;
if(trim($haben[1])=="21") $multi=2;
if(trim($haben[1])=="22") $multi=3;
if(trim($haben[1])=="23") $multi=4;
if(($bedarf*1) <= ($haben[0]*$multi))
{
$abzug = ($bedarf* (1/$multi);
$was_bleibt = ($haben[0]-$abzug);
$verbrauch = verbrauch_abziehen_n( $user_id, $haben[1], $was_bleibt );
$bedarf = 0;
}
else
{
$bedarf = $bedarf - ($haben[0]*$multi);
$was_bleibt = 0;
$verbrauch = verbrauch_abziehen_n( $user_id, $haben[1],$was_bleibt );
}
}
}
so also was hier passiert, ist das ich 4 verschiedene arten von nahrungsmitteln in dem spiel habe die unterschiedlich viele personen satt machen.
daher die multiplokatoren 1,2,3,4.
und dann wird natürlich das verbrauchte essen von essensvorrad des users abgezogen.
das klappt auch alles 1A wenn ich das script über den browser oder über die konsole aufrufe, ABER wenn der cronjob es alle 15 minuten ausführt nicht ganz.
also als erstes wird das lebensmittel verbraucht von dem am meisten satt werden:
also wenn der bedarf = 40 ist brauche ich 10 von nahrung 4 weil eins davon 4 satt macht. <- klappt auch wenn ich es über browser oder konsole aufrufe, aber beim cronjob zieht das script statt 10 trotzdem 40 ab ...
und ich habe nicht die geringste ahnung warum.
wenn da jemand ne idee hätte wäre supper den das ist das einzige was mir noch zur betaphase fehlt.
uwi