public LoadCar(vehicleid)
{
new file[128];
format(file,sizeof(file),\"/Autok/%d.ini\",vehicleid);
if(!fexist(file))
{
dini_Create(file);
dini_IntSet(file, \"Ajto\", 0);
dini_IntSet(file, \"Tipus\", 0);
dini_IntSet(file, \"Benzin\", 0);
dini_FloatSet(file, \"Allapot\", 0);
dini_IntSet(file, \"Ar\", 0);
dini_IntSet(file, \"Szin1\", 0);
dini_IntSet(file, \"Szin2\", 0);
dini_FloatSet(file, \"PosX\", 0);
dini_FloatSet(file, \"PosY\", 0);
dini_FloatSet(file, \"PosZ\", 0);
dini_FloatSet(file, \"PosA\", 0);
printf(\"%d számú kocsi létrehozva!\", vehicleid);
}
else
{
CarInfo[vehicleid][Ajto] = dini_Int(file,\"Ajto\");
CarInfo[vehicleid][Tipus] = dini_Int(file,\"Tipus\");
CarInfo[vehicleid][benzin] = dini_Int(file,\"Benzin\");
CarInfo[vehicleid][Allapot] = dini_Float(file,\"Allapot\");
CarInfo[vehicleid][Ar] = dini_Int(file, \"Ar\");
CarInfo[vehicleid][szin1] = dini_Int(file, \"Szin1\");
CarInfo[vehicleid][szin2] = dini_Int(file, \"Szin2\");
CarInfo[vehicleid][PosX] = dini_Float(file, \"PosX\");
CarInfo[vehicleid][PosY] = dini_Float(file, \"PosY\");
CarInfo[vehicleid][PosZ] = dini_Float(file, \"PosZ\");
CarInfo[vehicleid][PosA] = dini_Float(file, \"PosA\");
}
return 1;
}
A mód betöltésénél ezt meghívom, és megáll a mód betöltése, és az OnGameModInit nem fut tovább ennél. Ha a CarInfo[vehicleid] változók helyett mást használok, akkor mûködik, csak nekem ezekbe kellene betölteni:SSS Minden változó rendesen létre van hozva. Mi a gond?:SS
new carinfo
{
Ajto,
Tipus,
Benzin,
Float:Allapot,
Ar,
Szin1,
Szin2,
Float:PosX,
Float:PosY,
Float:PosZ,
Float:PosA
}
new CarInfo[MAX_PLAYERS][carinfo];
bocsii, igazából nem másoltam, hanem kézzel írtam.
Szerverbe pontosan ugy van benne hogy
#define AUTO 500
és a változó:
new CarInfo[AUTO][carinfo];
Szóval nem ez lesz a hiba:S
public OnGameModeInit()
{
for(new v = 1; v <= AUTO; v++)
{
LoadCar(v);
}
....többi cucc...
}
for(new v = 1; v <= AUTO; v++)
helyett:
for(new v = 0; v < AUTO; v++)
Az 500-as jelölésû cella nem létezik ennél a változónál new CarInfo[500].... , az 500 darab 0-tól 499 tart!