Hallo.
Ich bin noch nicht so gut in Sachen MySQL, kriege aber ein Login/Registrations-Script locker hin.
Ich möchte ein Fahrzeug-System erstellen, worin ein Spieler je nach Definierung mehr oder weniger Fahrzeuge haben kann.
Derzeit soll ein Spieler maximal 5 Private Fahrzeuge besitzen können.
Das habe ich folgendermaßen erstellt:
#define MAX_PRIVATE_VEHICLES 5
enum PrivateVehicles
{
vCarID,
vModelID,
Float:vPosX,
Float:vPosY,
Float:vPosZ,
Float:vPosRot,
vColor1,
vColor2
}
new PrivateVehicle[MAX_PRIVATE_VEHICLES][PrivateVehicles];
Und nun möchte ich die Fahrzeuge beim connecten laden lassen, wo ich aber Probleme mit den MySQL Abfragen habe.
Ich möchte ja, dass wenn der Spieler z.B. 2/5 Fahrzeuge hat, nur diese erstellt werden und nur diese geladen werden.
Das habe ich folgendermaßen:
stock LoadPlayerVehicles(playerid){
for(new i=0;i<MAX_PRIVATE_VEHICLES;i++){
if(!CarSlotInUse[playerid][x]){
new string[128];
format(string, sizeof(string), "SELECT * FROM `PrivateVehicles` WHERE `Besitzer` = '%s'", GetName(playerid));
mysql_query(string);
mysql_store_result();
if(mysql_num_rows() != 0){
PrivateVehicle[i][vModelID] = mysql_GetInt("PrivateVehicles", "ModelID", "Besitzer", GetName(playerid));
}
}
}
return 1;
}
Nur ich weiß jetzt nicht, ob es richtig ist, und wie ich ggf. weiter machen soll.
Ich hoffe ihr könnt helfen.
//Edit
Habs mal geändert, wäre es so richtig?
stock LoadPlayerVehicles(playerid){
for(new i=0;i<MAX_PRIVATE_VEHICLES;i++){
if(!CarSlotInUse[playerid][i]){
new sql[128], data[128];
format(sql, sizeof(sql), "SELECT * FROM `PrivateCars` WHERE `Besitzer` = '%s'", GetName(playerid));
mysql_query(sql);
mysql_store_result();
if(mysql_num_rows() > 0){
mysql_fetch_field_row(data, "ModelID");
PrivateVehicle[playerid][i][vModelID] = strval(data);
}
}
}
return 1;
}
Danke.. ._.