Guten Tag Breadfish,
Ich versuche mich gerade ein wenig an MySQL und möchte nun Fraktionsautos in einer Datenbank abspeichern was ich auch schon hinbekommen habe.
Nun ist jedoch meine frage, wie ich diese beim Starten des Servers am einfachsten auslese...
Ich habe es immomend so:
stock LoadFrakCars()
{
if(CheckMySQL() == 1) //Checkt die Verbindung zur Datenbank
{
print(" ");
print("Lade Fraktionsvehicle...");
new query2[128];
format(query2, sizeof(query2), "SELECT * FROM `frakcars`");
mysql_query(query2);
mysql_store_result();
new anzahl = mysql_num_rows();
for(new idx = 1; idx < anzahl+1; idx++)
{
new data[128], string[128],query[128];
format(query, sizeof(query), "SELECT * FROM `frakcars` WHERE `ID` = '%d'",idx);
mysql_query(query);
mysql_store_result();
mysql_fetch_field("Fraktion",data);
new vBesitzer = strval(data);
mysql_fetch_field("Model",data);
new vModel = strval(data);
mysql_fetch_field("PosX",data);
new Float:posX = floatstr(data);
mysql_fetch_field("PosY",data);
new Float:posY = floatstr(data);
mysql_fetch_field("PosZ",data);
new Float:posZ = floatstr(data);
mysql_fetch_field("PosR",data);
new Float:posR = floatstr(data);
mysql_fetch_field("Color1",data);
new vcolor1 = strval(data);
mysql_fetch_field("Color2",data);
new vcolor2 = strval(data);
mysql_fetch_field("Locked",data);
new vLocked = strval(data);
if(vModel != 0)
{
new Vehicle, Schild[20];
if(FrakVehicle[Vehicle][FFraktion] == 1) { Schild = "SA-PD"; }
SetVehicleNumberPlate(Vehicle, Schild);
Vehicle = CreateVehicle(vModel,posX,posY,posZ,posR,vcolor1,vcolor2,-1);
FrakVehicle[Vehicle][FFraktion] = vBesitzer;
FrakVehicle[Vehicle][FModel] = vModel;
FrakVehicle[Vehicle][FPosX] = posX;
FrakVehicle[Vehicle][FPosY] = posY;
FrakVehicle[Vehicle][FPosZ] = posZ;
FrakVehicle[Vehicle][FPosR] = posR;
FrakVehicle[Vehicle][FColor1] = vcolor1;
FrakVehicle[Vehicle][FColor2] = vcolor2;
FrakVehicle[Vehicle][FLocked] = vLocked;
ChangeVehicleColor(Vehicle, vcolor1, vcolor2);
format(string, sizeof(string), "[FRAKCAR] Fahrzeug: %d | Model: %d | Fraktion: %d", idx,vModel,vBesitzer);
printf(string);
}
}
mysql_free_result();
}
return 1;
}
So dies ist aber nach meiner meinung nach total umständlich und der meinung es gibt einfachere wege, jedoch finde ich diese nicht
Deshalb wollte ich hier mal fragen wie ihr das machen würdet
Achja und das Problem an dieser Varriante ist z.B. wenn ich 3 Fraktionsautos habe und dann das Fraktionsauto was in der datenbank die id 2 hat lösche, bricht er dort die schleife ab und der server "Crasht"
Mit freundlichen Grüßen,
Zunno