Guten Abend,
Ich Create ein Car auf meinem Server per Befehl,
es wird abgespeichert.
Doch wenn ich nun den Server restarte,
bekomme ich EXE wenn ich Join.
Woran kann das liegen?
Und sagt bitte was ihr benötigt.(Code)
Lade Car aus Mysql und EXE
- RnBexclusiv
- Geschlossen
- Erledigt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
bei mir wirds auch aus der sql geladen, funktioniert genau so wie sonst auch.
vielleicht hast du ne spalte beim auslesen verwechselt oder addstaticvehicle benutzt?lass dir mit print den string ausgeben den du von der datenbank zurück bekommst.
add mich mal in icq
-
Hier habt ihr meinen LoadCars.
stock LoadCars()
{
new idx;
samp_mysql_query("SELECT * from cars");
samp_mysql_store_result();
totalcars=samp_mysql_num_rows();
while(idx<=totalcars)
{
new Data[1024];
new Field[64];
new rcnt = 0;
samp_mysql_fetch_row(Data);
samp_mysql_strtok(Field,"|",Data);
while (samp_mysql_strtok(Field, "|", "")==1)
{
if(rcnt == 0){ strins(CarInfo[idx][Owner],Field,0,32); }
if(rcnt == 1){ CarInfo[idx][Model] = strval(Field); }
if(rcnt == 2){ CarInfo[idx][Preis] = strval(Field); }
if(rcnt == 3){ CarInfo[idx][X] = floatstr(Field); }
if(rcnt == 4){ CarInfo[idx][Y] = floatstr(Field); }
if(rcnt == 5){ CarInfo[idx][Z] = floatstr(Field); }
if(rcnt == 6){ CarInfo[idx][A] = floatstr(Field); }
if(rcnt == 7){ CarInfo[idx][Locked] = strval(Field); }
if(rcnt == 8){ CarInfo[idx][Owned] = strval(Field); }
if(rcnt == 9){ CarInfo[idx][Color1] = strval(Field); }
if(rcnt == 10){ CarInfo[idx][Color2] = strval(Field); }
if(rcnt == 11){ strins(CarInfo[idx][Numberplate],Field,0,32); }
if(rcnt == 12){ CarInfo[idx][Firma] = strval(Field); }
if(rcnt == 13){ CarInfo[idx][Kilometer] = strval(Field); }
if(rcnt == 14){ CarInfo[idx][Schaden] = strval(Field); }
if(rcnt == 15){ CarInfo[idx][Tank] = strval(Field); }
if(rcnt == 16){ CarInfo[idx][Motorschaden] = strval(Field); }
CreateVehicle(CarInfo[idx][Model],CarInfo[idx][X],CarInfo[idx][Y],CarInfo[idx][Z],CarInfo[idx][A],CarInfo[idx][Color1],CarInfo[idx][Color2],600000);
SetVehicleNumberPlate(idx,CarInfo[idx][Numberplate]);
rcnt++;
}
idx++;
}
if(totalcars==0)
print("Keine Cars zum Laden");
else
printf("%d Cars geladen",totalcars);
return 1;
}Ich hoffe euch bringt das Weiter
-
teil es lieber in ein array mit substrings, das ist schneller und übersichtlicher.
declaration der variablen:
new arrCoords[14][64];
new stringFromDb[256];abfrage:
format(sql, sizeof(sql), "SELECT * FROM `vehicle` WHERE id = %d", vehicleid);
samp_mysql_query(sql);
samp_mysql_store_result();überprüfen ob es das auto gibt, in ein array aufteilen und speichern:
if (samp_mysql_num_rows() > 0)
{
samp_mysql_fetch_row(stringFromDb);
split(stringFromDb, arrCoords, '|');
VehicleInfo[VehicleCounter][vSqlId] = strval(arrCoords[0]); // sql id
VehicleInfo[VehicleCounter][vBussinesOwner] = strval(arrCoords[1]);
VehicleInfo[VehicleCounter][vPrivateOwner] = strval(arrCoords[2]);
hast du kein primären index? wenn doch bist du einfach nur eine spalte verrutscht xD -
breadfish.de
Hat das Thema geschlossen.