Schönen guten Abend,
ich habe jetzt ein Dynamisches Autohaussystem erstellt, es funktioniert Laden/Speichern/Erstellen etc.. ich habe nurnoch ein kleines Problem mit
der Rotation des Fahrzeuges.. Die Fahrzeuge stehen zwar an der richtigen Position, aber die Rotation ist nicht die Selbe wie sie in der Datenbank steht.
Wenn ich mich in ein Fahrzeug setzte lasse ich die ZAngle printen & beim austeigen auch.
[20:04:24] Rotation: 52.694366
[20:04:34] ZAngel: 51.126998
Die neue Rotation wird auch in die Datenbank eingetragen & so läd er aus:
[20:06:36] Car ID 3 Kosten: 2456$ ModelID: 560 Rotation: 51.126998 geladen
Aber Ingame steht das Fahrzeug nicht so wie es gespeichert wurde beim umparken ? -.-
Code:
WIe ich es umparke:
SendClientMessage(playerid,Gelb,"Fahrzeug umgeparkt.");
new carid = GetPVarInt(playerid,"AHCCARID"),Float:vx,Float:vy,Float:vz,Float:vr,string[256];
GetVehicleZAngle(carid,vr);
printf("ZAngel: %f",vr);
GetPlayerPos(playerid,vx,vy,vz);
AutoHausCar[carid][posx] = vx;
AutoHausCar[carid][posy] = vy;
AutoHausCar[carid][posz] = vz;
AutoHausCar[carid][posr] = vr;
format(string,sizeof(string),"UPDATE `AutoHausCars` SET Modelid='%d',Kosten='%d',posx='%f',posy='%f',posz='%f',posr='%f' WHERE id = '%d'",
AutoHausCar[carid][Modelid],
AutoHausCar[carid][Kosten],
AutoHausCar[carid][posx],
AutoHausCar[carid][posy],
AutoHausCar[carid][posz],
AutoHausCar[carid][posr],
AutoHausCar[carid][cID]);
mysql_query(string);
Wie ich es auslesen lasse:
stock LoadAHC()
{
new query[256];
mysql_query("SELECT * FROM `AutoHausCars`");
mysql_store_result();
for(new i; i<mysql_num_rows(); i++)
{
if(i>=MAX_AHC)break;
mysql_retrieve_row();
mysql_fetch_field_row(query,"id"); AutoHausCar[i][cID] = strval(query);
mysql_fetch_field_row(query,"Modelid"); AutoHausCar[i][Modelid] = strval(query);
mysql_fetch_field_row(query,"Kosten"); AutoHausCar[i][Kosten] = strval(query);
mysql_fetch_field_row(query,"posx"); AutoHausCar[i][posx] = floatstr(query);
mysql_fetch_field_row(query,"posy"); AutoHausCar[i][posy] = floatstr(query);
mysql_fetch_field_row(query,"posz"); AutoHausCar[i][posz] = floatstr(query);
mysql_fetch_field_row(query,"posr"); AutoHausCar[i][posr] = floatstr(query);
AHC[i] = CreateVehicle(AutoHausCar[i][Modelid],AutoHausCar[i][posx],AutoHausCar[i][posy],AutoHausCar[i][posz],AutoHausCar[i][posr],0,0,-1);
printf("Car ID %d Kosten: %d ModelID: %d Rotation: %f geladen",AutoHausCar[i][cID],AutoHausCar[i][Modelid],AutoHausCar[i][Kosten],AutoHausCar[i][posr]);
}
mysql_free_result();
}
Wie ich es speichere:
new carid = GetPVarInt(playerid,"AHCID"),Float:px1,Float:py1,Float:pz1,Float:vr;
GetVehicleZAngle(carid,vr);
printf("Rotation: %f",vr);
GetPlayerPos(playerid,px1,py1,pz1);
AutoHausCar[carid][cID] = carid;
AutoHausCar[carid][Modelid] = GetPVarInt(playerid,"AHCM");
AutoHausCar[carid][Kosten] = GetPVarInt(playerid,"AHCK");
AutoHausCar[carid][posx] = px1;
AutoHausCar[carid][posy] = py1;
AutoHausCar[carid][posz] = pz1;
AutoHausCar[carid][posr] = vr;
format(string,sizeof(string),"INSERT INTO `AutoHausCars` (`id`,`Modelid`,`Kosten`,`posx`,`posy`,`posz`,`posr`) VALUES(%d,%d,%d,%f,%f,%f,%f)",AutoHausCar[carid][cID],AutoHausCar[carid][Modelid],AutoHausCar[carid][Kosten],AutoHausCar[carid][posx],AutoHausCar[carid][posy],AutoHausCar[carid][posz],AutoHausCar[carid][posr]);
mysql_query(string);
SetPlayerPos(playerid,px1,py1,pz1+2);
AHC[carid] = CreateVehicle(AutoHausCar[carid][Modelid],AutoHausCar[carid][posx],AutoHausCar[carid][posy],AutoHausCar[carid][posz],AutoHausCar[carid][posr],0,0,-1);
return 1;
Kann mir jemand sagen wodran es liegt ?