Autor Zpráva
Seki
Profil
Zdravím, z neznámého důvodu se mi ve scriptu objevuje několik chyb úrovně notice. Bohužel jsem nepřišel na to, jak tyto chyby odstranit.

print_r dat dískaných z databáze:
Array
(
    [0] => root
    [jmeno] => root
    [1] => 12.0
    [dobyvaci] => 12.0
    [2] => 10.000
    [plenici] => 10.000
    [3] => 15.000
    [loupezivy] => 15.000
    [4] => 15.000
    [spionazni] => 15.000
)

Problémový úsek kódu:
    # dobývací (max 12)
    if ($utoky['dobyvaci'] < 12)
        {
      $utoky[1] += 0.5;        
    }
      
    # partyzánský (max 10)
    if ($utoky['plenici'] < 10)
        {
      $utoky[2] += 0.416;         
    }
      

Chyby:

Notice: Undefined offset: 1 in /data/web/virtuals/9350/virtual/www/subdom/game/core/cron/funkce_prepocet.php on line 4
Notice: Undefined index: plenici in /data/web/virtuals/9350/virtual/www/subdom/game/core/cron/funkce_prepocet.php on line 8
Notice: Undefined offset: 2 in /data/web/virtuals/9350/virtual/www/subdom/game/core/cron/funkce_prepocet.php on line 10
Tori
Profil
Seki:
To vypadá, jak kdybyste zapisoval do pole s daty z DB - úmysl nebo chyba? Nepřepisujete si někde tu proměnnou?
Seki
Profil
Tori:
O načtení dat se stará tento řádek, který předchází tomuto kódu:
$utoky = mysql_fetch_array(db::query("SELECT * FROM uzivatele_utoky WHERE jmeno = '" . $hrac . "'"));

Pokud bych si přepisoval proměnné, tak čím je tedy způsobena druhá chyba (řádek 8)?
Tori
Profil
Seki:
Myslela jsem tím, jestli někde mezi vytažením dat z DB a zpracováním schopností hráče (nebo co to je) nemáte něco jako: $utoky = array();
Anebo další možnost je, že $utoky z DB, a $utoky v chybovém úseku jsou dvě různé proměnné. Tj. že data z DB k té části kódu (funkce?, include?) vůbec nedojdou, a pole $utoky vznikne až na řádku 2. Vypište si tu proměnnou v místě chyby.
Seki
Profil
Tori:
proměnná útoky se určitě nepřekreje, jelikož je těsně nad problémovým kódem. Zkusím si s tím ještě pohrát a uvidím, jak to dopadne.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: