A tömb vége után akartad elérni azt. Tipikusan ez akkor van, ha pl. a játékosod nincs kocsiban, és 65535-el tér vissza, akkor a tömbödnek meg nincs is annyi cellája.
Pl.:
CMD:motor(playerid)
{
new kocsiid = GetPlayerVehicleID(playerid);
//ellenõrzések, stb..
JarmuInfo[kocsiid][Motor] = true;
return 1;
}
Ha nincs kocsiban, akkor a 2000 kocsi közül hogy szedje ki a 65535.-et? Érted
(jelentése (itt): nincs). Ja, és azért ír 1999. cellát, mert 0-tól kezdi a számolást.
Megoldás: az ilyesmi helyeket nézd át, ahol valami függvény visszatérési értékét adsz meg cellaszámnak
Azaz:
Lekérsz egy információt (pl. Játékos kocsijának ID-je), és azt egy tömbben használod, és nem ellenõrzöd elõtte, hogy nem-e hibá (nem létezõ) cellára mutat.
Tehát, ha lekérsz valamit, és tömbb megadásnál használod, elõtte nézd meg, hogy az a függvény, amivel lekérsz, nem térhet-e vissza olyan értékkel, ami nem lesz megfelelõ. Pl. az én LegkozelebbiJarmuvem -1-el tér vissza, ha nincs a közeledben egy sem. Így, ha a legközelebbi kocsinak akarom átírni egy változóját, akkor elõtte meg kell néznem, az nem -1-e. Vágod?
Lehet, hogy tudományosan hangzik, de vagy angolul mondom ezeket a szavakat, vagy ilyen hülye szaknyelven.
Pont az ilyesmi hibák megelõzésérõl akarok csinálni az eddigieknél sokkal átfogóbb tutorialt