Hallo,
Ich habe ein kleines Problem mit meinem dynamischen Parksystem In der Anwendung Funktioniert es, jedoch gibt es ein paar Probleme dabei.
- Server ladet 210 Fahrzeuge
- Am Nullpunkt (Fleischberg) werden 210 Fahrzeuge erstellt. Sobald man in der Nähe ist bekommt man eine Exe
- Sobald ich ein Auto des gleichen Types abschreibe, überschreibt es die Datei des anderen Fahrzeuges, das die gleiche ID besitzt. (z. B. Turismo A wird abgespeichert. Turismo B wird danach abgespeichert und überschreibt die Daten von Turismo A.
Es ist eigentlich ganz logisch wieso diese Fehler auftreten, jedoch weiß ich nicht, wie ich das Problem lösen kann.
Codes:
ocmd:sveh(playerid,params[])
{
if(!isPlayerAnAdmin(playerid,3))return 1;
new Autodatei[64];
new Float:x,Float:y,Float:z,Float:rotation,Float:health;
new vehicle=GetPlayerVehicleID(playerid);
new vehicleid=GetVehicleModel(vehicle);
new vehiclelife=GetVehicleHealth(vehicle,health);
GetPlayerPos(playerid,x,y,z);
GetVehicleZAngle(vehicle,rotation);
format(Autodatei,sizeof(Autodatei),"/Autos/%d.dat",vehicleid);
if(dini_Exists(Autodatei))
{
dini_IntSet(Autodatei,"Modelid",vehicleid);
dini_FloatSet(Autodatei,"x_pos",x);
dini_FloatSet(Autodatei,"y_pos",y);
dini_FloatSet(Autodatei,"z_pos",z);
dini_FloatSet(Autodatei,"Rotation",rotation);
dini_FloatSet(Autodatei,"Vehicle-Leben",vehiclelife);
}
else
{
dini_Create(Autodatei);
dini_IntSet(Autodatei,"Modelid",vehicleid);
dini_FloatSet(Autodatei,"x_pos",x);
dini_FloatSet(Autodatei,"y_pos",y);
dini_FloatSet(Autodatei,"z_pos",z);
dini_FloatSet(Autodatei,"Rotation",rotation);
dini_FloatSet(Autodatei,"Vehicle-Leben",vehiclelife);
}
SendClientMessage(playerid,-1,"Auto erfolgreich gespeichert");
return 1;
}
stock AutoLaden()
{
new Autodatei[64];
for(new i=0;i<612;i++)
{
new Float:X, Float:Y, Float:Z,Float:R;
format(Autodatei,sizeof(Autodatei),"/Autos/%d.dat",i);
dini_Int(Autodatei,"Modelid");
X=dini_Float(Autodatei,"x_pos");
Y=dini_Float(Autodatei,"y_pos");
Z=dini_Float(Autodatei,"z_pos");
R=dini_Float(Autodatei,"Rotation");
CreateVehicle(i,X,Y,Z,R,-1,-1,-1);
}
return 1;
}
Ich hoffe jemand kann mir helfen...