Guten Tag
Ich möchte die Tuningteile der Fahrzeuge speichern. ich weiß mit welcher Funktion ich die auslesen und hinzufügen kann, jedoch bereitet mir das abspeichern in einer .ini noch Probleme, da es verschiedene Slots gibt und ich nicht genau weiß wie ich das abspeichern muss.
Bei der Farbe oder beim Paintjob ist das ja ganz einfach.
Farbe 1 = Wert
Farbe 2 = Wert
Paintjob = Wert
Aber wie kann ich nun den Rest abspeichern?
LG
Simon
//edit: Ich habe mal etwas versucht, komme jedoch auf errors die ich nicht ganz nachvollziehen kann:
enum AInfo //Alle Infos über das Auto
{
AName[50],
Preis,
Matspreis,
Reppreis,
modelid,
ATank,
Float:AHP,
Abgeschlossen,
Tempomat,
Nummernschild[30],
Float:Posx,
Float:Posy,
Float:Posz,
Float:Posa,
Farbe1,
Farbe2,
Paintjob,
CARMODTYPE_SPOILER, //Hier die ganzen Slots, tragen den selben namen damit ich sie leichter abfragen kann (Zeile 402)
CARMODTYPE_HOOD,
CARMODTYPE_ROOF,
CARMODTYPE_SIDESKIRT,
CARMODTYPE_LAMPS,
CARMODTYPE_NITRO,
CARMODTYPE_EXHAUST,
CARMODTYPE_WHEELS,
CARMODTYPE_STEREO,
CARMODTYPE_HYDRAULICS,
CARMODTYPE_FRONT_BUMPER,
CARMODTYPE_REAR_BUMPER,
CARMODTYPE_VENT_RIGHT,
CARMODTYPE_VENT_LEFT
}
new Autos[MAX_PLAYERS][6][AInfo]; // hier die variablen
new Spielercar[MAX_PLAYERS][6];
new CarSlots[14][25] = {
"CARMODTYPE_SPOILER",
"CARMODTYPE_HOOD",
"CARMODTYPE_ROOF",
"CARMODTYPE_SIDESKIRT",
"CARMODTYPE_LAMPS",
"CARMODTYPE_NITRO",
"CARMODTYPE_EXHAUST",
"CARMODTYPE_WHEELS",
"CARMODTYPE_STEREO",
"CARMODTYPE_HYDRAULICS",
"CARMODTYPE_FRONT_BUMPER",
"CARMODTYPE_REAR_BUMPER",
"CARMODTYPE_VENT_RIGHT",
"CARMODTYPE_VENT_LEFT"
};
Wenn ein spieler sich einloggt:
public Anmelden(playerid)
{
for(new i = 0; i < 6; i++)
{
new Autodatei[100];
format(Autodatei,sizeof(Autodatei),"/Autos/%s_Auto_%d.ini",name,i);
if(dini_Exists(Autodatei))
{
Autos[playerid][i][Preis] = dini_Int(Autodatei,"Preis");
Autos[playerid][i][Matspreis] = dini_Int(Autodatei,"Matspreis");
Autos[playerid][i][Reppreis] = dini_Int(Autodatei,"Reppreis");
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]+1.5,Autos[playerid][i][Posa],-1,-1,-1);
SetVehicleNumberPlate(Spielercar[playerid][i],dini_Get(Autodatei,"Nummernschild"));
vInfo[Spielercar[playerid][i]][vTank] = Autos[playerid][i][ATank];
vInfo[Spielercar[playerid][i]][vClose] = Autos[playerid][i][Abgeschlossen];
vInfo[Spielercar[playerid][i]][vTempomat] = Autos[playerid][i][Tempomat];
SetVehicleParamsForPlayer(Spielercar[playerid][i],playerid,0,0);
if(Autos[playerid][i][AHP] > 250)
{
SetVehicleHealth(Spielercar[playerid][i],Autos[playerid][i][AHP]);
}
else
{
SetVehicleHealth(Spielercar[playerid][i],255.0);
}
if(Autos[playerid][i][Paintjob] >= 0) {ChangeVehiclePaintjob(Spielercar[playerid][i],Autos[playerid][i][Paintjob]);}
if(Autos[playerid][i][Farbe1] >= 0 || Autos[playerid][i][Farbe2] >= 0) { ChangeVehicleColor(Spielercar[playerid][i],Autos[playerid][i][Farbe1],Autos[playerid][i][Farbe2]);}
for(new a = 0; a < sizeof CarSlots; a++) //geht alle carslots durch, habe sie ja im Array CarSlots gespeichert
{
if(Autos[playerid][i][CarSlots[a]] > 0) //überprüft ob der wert höher als 0 ist (Zeile 4997)
{
AddVehicleComponent(Spielercar[playerid][i],Autos[playerid][i][CarSlots[a]]); (Zeile 4999)
}
}
}
else continue;
}
return 1;
}
Und Ich bekomme folgende Errors:
C:\Program Files\Pawno\gamemodes\RLServer.pwn(402) : error 001: expected token: "-identifier-", but found "-integer value-"
C:\Program Files\Pawno\gamemodes\RLServer.pwn(4997) : error 033: array must be indexed (variable "CarSlots")
C:\Program Files\Pawno\gamemodes\RLServer.pwn(4999) : error 033: array must be indexed (variable "CarSlots")
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
3 Errors.
LG