Hallo Leute,
ich habe ein Problem mit der Carid-Verschiebung und zwar will ich dem Wagen beim speichern eine Carid geben, die in der Datei gespeichert wird.
Beim Spawnen soll der Wagen die selbe ID haben. Diese ist nötig als Verbindung zwischen dem Spieler und dem Wagen. -> Der Spieler hat in seiner Datei eine Schlüsselnummer und wenn die Schlüsselnummer mit der Schlüsselnummer des Wagens übereinstimmt, kanne er diesen fahren.
stock LoadCar(carid)
{
if(carid == 0)
{
return 1;
}
new ordner[50];
format(ordner,50,"/cars/%d.txt",carid);
if(!fexist(ordner)) return 0;
CarInfo[carid][car_id]= dini_Float(ordner,"carid");
CarInfo[carid][car_x] = dini_Float(ordner,"xpos");
CarInfo[carid][car_y] = dini_Float(ordner,"ypos");
CarInfo[carid][car_z] = dini_Float(ordner,"zpos");
CarInfo[carid][car_ang] = dini_Float(ordner,"angle");
CarInfo[carid][car_snum] = dini_Int(ordner,"schluessel");
CarInfo[carid][car_mid] = dini_Int(ordner,"modelid");
CarInfo[carid][car_col1] = dini_Int(ordner,"farbe1");
CarInfo[carid][car_col2] = dini_Int(ordner,"farbe2");
CarInfo[carid][car_health]=dini_Float(ordner,"health");
SpawnedVehicles[carid]=CreateVehicle(CarInfo[carid][car_mid],CarInfo[carid][car_x],CarInfo[carid][car_y],CarInfo[carid][car_z],CarInfo[carid][car_ang],0,0,-1);
//SetVehicleHealth(carid,100);
return 1;
}
stock SaveCar(carid)
{
new ordner[50];
format(ordner,50,"/cars/%d.txt",carid);
if(carid <= 0)
{
return 1;
}
if(!fexist(ordner))
{
dini_Create(ordner);
new Float:xpos,
Float:ypos,
Float:zpos,
Float:rota,
Float:health,
color1,
color2;
GetVehiclePos(carid,xpos,ypos,zpos);
GetVehicleZAngle(carid,rota);
GetVehicleHealth(carid,health);
GetVehicleModel(carid);
//GetVehicleColor(color1,color2);
dini_FloatSet(ordner,"xpos",xpos);
dini_FloatSet(ordner,"ypos",ypos);
dini_FloatSet(ordner,"zpos",zpos);
dini_FloatSet(ordner,"angle",rota);
dini_FloatSet(ordner,"health",health);
dini_IntSet(ordner,"carid",CarInfo[carid][car_id]);
dini_IntSet(ordner,"modelid",GetVehicleModel(carid));
//dini_IntSet(ordner,"farbe1",color1);
//dini_IntSet(ordner,"farbe2",color2);
if(dini_Int(ordner,"schluessel") ==0)
{
dini_IntSet(ordner,"schluessel",carid);
}
}
else
{
new Float:xpos,
Float:ypos,
Float:zpos,
Float:rota,
Float:health,
color1,
color2;
GetVehiclePos(carid,xpos,ypos,zpos);
GetVehicleZAngle(carid,rota);
GetVehicleHealth(carid,health);
GetVehicleModel(carid);
//GetVehicleColor(color1,color2);
dini_FloatSet(ordner,"xpos",xpos);
dini_FloatSet(ordner,"ypos",ypos);
dini_FloatSet(ordner,"zpos",zpos);
dini_FloatSet(ordner,"angle",rota);
dini_FloatSet(ordner,"health",health);
dini_IntSet(ordner,"carid",CarInfo[carid][car_id]);
dini_IntSet(ordner,"modelid",GetVehicleModel(carid));
//dini_IntSet(ordner,"farbe1",color1);
//dini_IntSet(ordner,"farbe2",color2);
if(dini_Int(ordner,"schluessel") ==0)
{
dini_IntSet(ordner,"schluessel",carid);
}
}
return 1;
}
Hoffe auf baldige Hilfe!
Mit freundlichen Grüßen,
a6150