Guten Tag
Ich arbeitete z.Z. an einem Autosystem und habe schonmal so die Basis gescriptet. Man kann zwar noch kein Auto kaufen, jedoch werden, falls dateien vorhanden, die Autos geladen und gespeichert. mein Problem was ich nun habe: wenn ich nun die autodatei des spielers lade, wird das auto nicht created.
Hier mal mein Scriptausschnitt:
news.. :
enum AInfo
{
AName[50],
modelid,
ATank,
Float:AHP,
Abgeschlossen,
Farbe1,
Farbe2,
Paintjob,
Tempomat,
Nummernschild[30],
Float:Posx,
Float:Posy,
Float:Posz,
Float:Posa
//Tuningteile
}
new Autos[MAX_PLAYERS][5][AInfo];
new Spielercar[MAX_PLAYERS][5];
Nun zum Laden der datei:
public Anmelden(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
for(new i = 0; i < Spieler[playerid][Autoanzahl]-1; i++) //die autoanzahl wird in der .ini des spielers gespeichert. da die schleife bei 0 anfängt und die autoanzahl bei 1, halt -1.
{
new Autodatei[100];
format(Autodatei,sizeof(Autodatei),"/Autos/%s_Auto_%d",name,i); // Name_Auto_ID
Autos[playerid][i][modelid] = dini_Int(Autodatei,"modelid");
Autos[playerid][i][ATank] = dini_Int(Autodatei,"ATank");
Autos[playerid][i][AHP] = dini_Int(Autodatei,"AHP");
Autos[playerid][i][Abgeschlossen] = dini_Int(Autodatei,"Abgeschlossen");
Autos[playerid][i][Farbe1] = dini_Int(Autodatei,"Farbe1");
Autos[playerid][i][Farbe2] = dini_Int(Autodatei,"Farbe2");
Autos[playerid][i][Paintjob] = dini_Int(Autodatei,"Paintjob");
Autos[playerid][i][Tempomat] = dini_Int(Autodatei,"Tempomat");
Autos[playerid][i][Nummernschild] = dini_Int(Autodatei,"Nummernschild");
Autos[playerid][i][Posx] = dini_Int(Autodatei,"Posx");
Autos[playerid][i][Posy] = dini_Int(Autodatei,"Posy");
Autos[playerid][i][Posz] = dini_Int(Autodatei,"Posz");
Autos[playerid][i][Posa] = dini_Int(Autodatei,"Posa");
Spielercar[playerid][i] = CreateVehicle(Autos[playerid][i][modelid],Autos[playerid][i][Posx],Autos[playerid][i][Posy],Autos[playerid][i][Posz],Autos[playerid][i][Posa],Autos[playerid][i][Farbe1],Autos[playerid][i][Farbe2],-1);
SetVehicleNumberPlate(Spielercar[playerid][i],dini_Get(Autodatei,"Nummernschild"));
SetVehicleHealth(Spielercar[playerid][i],Autos[playerid][i][AHP]);
ChangeVehicleColor(Spielercar[playerid][i],Autos[playerid][i][Farbe1],Autos[playerid][i][Farbe2]);
ChangeVehiclePaintjob(Spielercar[playerid][i],Autos[playerid][i][Paintjob]);
new engine, lights, alarm, doors, bonnet, boot, objective;
GetVehicleParamsEx(Spielercar[playerid][i], engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(Spielercar[playerid][i],0,0,alarm,Autos[playerid][i][Abgeschlossen],bonnet,boot,objective);
}
return 1;
}
nun zum speichern:
public Update(playerid)
{
new name[MAX_PLAYER_NAME]
GetPlayerName(playerid,name,sizeof(name));
for(new i = 0; i < Spieler[playerid][Autoanzahl]-1; i++)
{
new Autodatei[100];
format(Autodatei,sizeof(Autodatei),"/Autos/%s_Auto_%d",name,i);
dini_IntSet(Autodatei,"modelid",Autos[playerid][i][modelid]);
dini_IntSet(Autodatei,"ATank",vInfo[Spielercar[playerid][i]][vTank]);
dini_FloatSet(Autodatei,"AHP",Autos[playerid][i][AHP]);
dini_IntSet(Autodatei,"Abgeschlossen",Autos[playerid][i][Abgeschlossen]);
dini_IntSet(Autodatei,"Farbe1",Autos[playerid][i][Farbe1]);
dini_IntSet(Autodatei,"Farbe2",Autos[playerid][i][Farbe2]);
dini_IntSet(Autodatei,"Paintjob",Autos[playerid][i][Paintjob]);
dini_IntSet(Autodatei,"Tempomat",Autos[playerid][i][Tempomat]);
dini_FloatSet(Autodatei,"Posx",Autos[playerid][i][Posx]);
dini_FloatSet(Autodatei,"Posy",Autos[playerid][i][Posy]);
dini_FloatSet(Autodatei,"Posz",Autos[playerid][i][Posz]);
dini_FloatSet(Autodatei,"Posa",Autos[playerid][i][Posa]);
}
return 1;
}
Das Auto wird beim Anmelden nicht createt. Wäre sehr nett wenn mir da jemand helfen könnte.
Mfg
Simon