Jump to content
Geplaatst:
comment_1743178

Ik ben bezig met een eigen car systeem, alleens als eerst wil ik te weten komen hoe ik kan zorgen dat er een auto spawnt door middel van het lezen van een ini bestand.

Dus wat ik heb gemaakt is:

new file[128];
GetPlayerName(playerid, playername, sizeof(playername));
format(file, sizeof(file), "\\CarSystem\\%s.ini", playername);
carid[playerid]= dini_Int(file, "CarID");
car[playerid] = dini_Int(file, "CarVehicle");
car[carid[playerid]] = CreateVehicle(car[playerid]);

Dit is een dikke fail, vooral bij deze regel:

car[carid[playerid]] = CreateVehicle(car[playerid]);

Wat ik probeer is:

de carid te laden in het ini bestand, dan spawnt hij die car en die car heet dus car[id].

Wat hulp om dit te fixen zou ik ook weer erg waarderen :)

Featured Replies

Geplaatst:
comment_1743207

new file[128];

GetPlayerName(playerid, playername, sizeof(playername));

format(file, sizeof(file), "\\CarSystem\\%s.ini", playername);

carid[playerid]= dini_Int(file, "CarID");

car[playerid] = dini_Int(file, "CarVehicle");

car[carid][playerid]] = CreateVehicle(car[playerid]);

car[carid][playerid]] = CreateVehicle(car[playerid]);

(code tags hierboven even weggelaten om de bbcodes actief te krijgen.)

Hierboven even aangeduid wat ik heb toegevoegd (geel) en doorstreept (geel) wat er weg moet, voor de zekerheid dat je niet het bovenstaande gewoon kopieerd zonder het aan te passen plaats ik het hieronder nog eens zonder die doorstreepte dingens:

new file[128];
GetPlayerName(playerid, playername, sizeof(playername));
format(file, sizeof(file), "\\CarSystem\\%s.ini", playername);
carid[playerid]= dini_Int(file, "CarID");
car[playerid] = dini_Int(file, "CarVehicle");
car[carid][playerid] = CreateVehicle(car[playerid]);

car[carid][playerid] = CreateVehicle(car[playerid]);

Bewerkt: door megadreams

Geplaatst:
comment_1743226

new file[128];

GetPlayerName(playerid, playername, sizeof(playername));

format(file, sizeof(file), "\\CarSystem\\%s.ini", playername);

carid[playerid]= dini_Int(file, "CarID");

car[playerid] = dini_Int(file, "CarVehicle");

car[carid][playerid]] = CreateVehicle(car[playerid]);

car[carid][playerid]] = CreateVehicle(car[playerid]);

(code tags hierboven even weggelaten om de bbcodes actief te krijgen.)

Hierboven even aangeduid wat ik heb toegevoegd (geel) en doorstreept (geel) wat er weg moet, voor de zekerheid dat je niet het bovenstaande gewoon kopieerd zonder het aan te passen plaats ik het hieronder nog eens zonder die doorstreepte dingens:

new file[128];
GetPlayerName(playerid, playername, sizeof(playername));
format(file, sizeof(file), "\\CarSystem\\%s.ini", playername);
carid[playerid]= dini_Int(file, "CarID");
car[playerid] = dini_Int(file, "CarVehicle");
car[carid][playerid] = CreateVehicle(car[playerid]);

car[carid][playerid] = CreateVehicle(car[playerid]);

De bedoeling is dat carid[playerid] dus van de playerid is. Als ik jouw code gebruik, krijg ik weer errors.

Zoals 'array must be indexed'.

Als ik dan new carid[128]; ofzo doe, zegt hij dat het bij een preceeding level is.

Als ik dan

new idx;

carid = idx; doe, zegt hij dat carid alweer geindext moet worden.

Als ik dan

carid[128] = idx; doe, zegt hij array index out of bounds bij carid[128] = idx;

Dus jah...

Geplaatst:
comment_1743818

Ik heb het maar anders gedaan. Ik krijg geen errors, maar hij spawnt de car toch niet.

Dit is mijn code nu:

new file[128], i, car, cX, cY, cZ, cAngle, cColorP, cColorS, cResDelay, vehicle[128];
//Define
carid[playerid]= dini_Int(file, "CarID");
carnum[playerid] = dini_Int(file, "Car");
carX[playerid] = dini_Int(file, "CarX");
carY[playerid] = dini_Int(file, "CarY");
carZ[playerid] = dini_Int(file, "CarZ");
carAngle[playerid] = dini_Int(file, "CarAngle");
carColorP[playerid] = dini_Int(file, "CarColorP");
carColorS[playerid] = dini_Int(file, "CarColorS");
carResDelay[playerid] = dini_Int(file, "CarResDelay");
i = carid[playerid];
car = carnum[playerid];
cX = carX[playerid];
cY = carY[playerid];
cZ = carZ[playerid];
cAngle = carAngle[playerid];
cColorP = carColorP[playerid];
cColorS = carColorS[playerid];
cResDelay = carResDelay[playerid];
// Car spawn
GetPlayerName(playerid, playername, sizeof(playername));
format(file, sizeof(file), "\\CarSystem\\%s.ini", playername);
vehicle[i] = CreateVehicle(car, cX, cY, cZ, cAngle, cColorP, cColorS, cResDelay);

Geplaatst:
comment_1744792

Omdat spawn posities van auto's Floats zijn, geen Integers.

Je moet dus gebruik maken van dini_Float(Set).

Dat was ik even vergeten. Dankje.

Maar het werkt nog steeds niet. Hij wil de auto niet spawnen.

Dit is mijn code:

new file[128], i, car, Float:cX, Float:cY, Float:cZ, Float:cAngle, cColorP, cColorS, vehicle[128];
//Define
GetPlayerName(playerid, playername, sizeof(playername));
format(file, sizeof(file), "\\CarSystem\\%s.ini", playername);
carid[playerid]= dini_Int(file, "CarID");
carnum[playerid] = dini_Int(file, "Car");
cX = dini_Float(file, "CarX");
cY = dini_Float(file, "CarY");
cZ = dini_Float(file, "CarZ");
cAngle = dini_Float(file, "CarAngle");
carColorP[playerid] = dini_Int(file, "CarColorP");
carColorS[playerid] = dini_Int(file, "CarColorS");
i = carid[playerid];
car = carnum[playerid];
cColorP = carColorP[playerid];
cColorS = carColorS[playerid];
// Car spawn
vehicle[i] = CreateVehicle(car, cX, cY, cZ, cAngle, cColorP, cColorS, 0);

Dit staat in mijn ini bestand:

CarID=12

Car=420

CarX=1780.105

CarY=-1860.396

CarZ=13.271

CarAngle= 269.02

CarColorP=-1

CarColorS=-1

Bewerkt: door Gast

  • 2 weken later...
Geplaatst:
comment_1749398

Weet iemand al iets?

Edit:

Zelf al opgelost.

Ik heb dus geen idee hoe ik kan zorgen dat als je de auto in gaat, dat het dan de owner laat zien. Maarja

Bewerkt: door Gast

Een reactie plaatsen

Je kan nu een reactie plaatsen en pas achteraf registreren. Als je al lid bent, log eerst in om met je eigen account een reactie te plaatsen.

Gast
Op dit onderwerp reageren...

Recent actief 0

  • Er zijn hier geen geregistreerde gebruikers aanwezig.