Hey habe gestern ein Autohaus erstellt und die Besitzer möchte ich per Namen rausfinden.
Das Problem ist wen ich das Auto gekauft habe steht in der Datenbank " e "anstatt z.B Peter (Als Besitzer)
Hier mal ein paar codes:
Onplayerdisconect:
Code
for(new i=0; i<sizeof(cInfo); i++)
{
if(cInfo[i][id_x]==0)continue;
if(cInfo[i][besitzer]!=SpielerInfo[playerid][Name])continue;
GetVehiclePos(cInfo[i][id_x],cInfo[i][c_x],cInfo[i][c_y],cInfo[i][c_z]);
GetVehicleZAngle(cInfo[i][id_x],cInfo[i][c_r]);
new query[256];
format(query,sizeof(query),"UPDATE autos SET x='%f',y='%f',z='%f',r='%f' WHERE besitzer='%e",cInfo[i][c_x],cInfo[i][c_y],cInfo[i][c_z],cInfo[i][c_r],SpielerInfo[playerid][Name]);
mysql_function_query(db,query,false,"","");
DestroyVehicle(cInfo[i][id_x]);
cInfo[i][id_x]=0;
}
Alles anzeigen
Code
forward OnPlayerCarsLoad(playerid);
public OnPlayerCarsLoad(playerid)
{
new num_fields,num_rows;
cache_get_data(num_rows,num_fields,db);
if(!num_rows)return 1;
for(new i=0; i<num_rows; i++)
{
new id=getFreeCarID();
cInfo[id][model]=cache_get_field_content_int(i,"model",db);
cInfo[id][besitzer]=cache_get_field_content_int(i,"besitzer",db);
cInfo[id][c_x]=cache_get_field_content_float(i,"x",db);
cInfo[id][c_y]=cache_get_field_content_float(i,"y",db);
cInfo[id][c_z]=cache_get_field_content_float(i,"z",db);
cInfo[id][c_r]=cache_get_field_content_float(i,"r",db);
cInfo[id][id_x]=CreateVehicle(cInfo[id][model],cInfo[id][c_x],cInfo[id][c_y],cInfo[id][c_z],cInfo[id][c_r],-1,-1,-1);
}
return 1;
}
Alles anzeigen
Code
createPlayerCar(playerid,modelid,Float:x,Float:y,Float:z,Float:r)
{
for(new i=0; i<sizeof(cInfo); i++)
{
if(cInfo[i][id_x]!=0)continue;
cInfo[i][besitzer]=SpielerInfo[playerid][Name];
cInfo[i][c_x]=x;
cInfo[i][c_y]=y;
cInfo[i][c_z]=z;
cInfo[i][c_r]=r;
cInfo[i][model]=modelid;
cInfo[i][id_x] = CreateVehicle(modelid,x,y,z,r,-1,-1,-1);
new string[128];
format(string,sizeof(string),"Das Auto cInfo[%i] wurde erstellt.",i);
SendClientMessageToAll(COLOR_RED,string);
saveCarToDB(playerid,i);
return 1;
}
return 1;
}
saveCarToDB(playerid,carid)
{
new query[128];
format(query,sizeof(query),"INSERT INTO autos (besitzer,model,x,y,z,r) VALUES ('%e','%i','%f','%f','%f','%f')",SpielerInfo[playerid][Name],cInfo[carid][model],cInfo[carid][c_x],cInfo[carid][c_y],cInfo[carid][c_z],cInfo[carid][c_r]);
mysql_function_query(db,query,true,"carSavedToDB","i",carid);
return 1;
}
loadPlayerCars(playerid)
{
new query[128];
format(query,sizeof(query),"SELECT * FROM autos WHERE besitzer='%e'",SpielerInfo[playerid][Name]);
mysql_function_query(db,query,true,"OnPlayerCarsLoad","i",playerid);
return 1;
}
Alles anzeigen
Datebank aufbau:
Code
-- Tabellenstruktur für Tabelle `autos`
--
CREATE TABLE IF NOT EXISTS `autos` (
`besitzer` varchar(24) NOT NULL,
`model` int(11) NOT NULL,
`x` int(11) NOT NULL,
`y` int(11) NOT NULL,
`z` int(11) NOT NULL,
`r` int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Daten für Tabelle `autos`
--
INSERT INTO `autos` (`besitzer`, `model`, `x`, `y`, `z`, `r`) VALUES
('e', 91, 0, 2148, -1138, 25);
Alles anzeigen