Hallo
Ich habe langsam das Gefühl, das wird mein Lebenswerk, aber egal, ich schaffs
Ich habe jetzt das Problem, dass wenn ich als RCON eingelogt bin und den Command /admcreate (Erstellt ein Auto) korrekt benutze, nichts passiert. Erst nnach einem Restart sind die Cars dort, jedoch völlig komisch, man kann sie zB nicht kaufen, obwohl e sgehen sollte. Ich poste hier mal den Load-Code und den Save-Code, den Admcreatecode.
new line[255],File:carx = fopen(CAR_DATEI,io_read),
car_index;
if(carx)
{
while(fread(carx,line))
{
if(line[strlen(line)-2] == '\r')line[strlen(line)-2] = '\0';
if(line[strlen(line)-1] == '\n')line[strlen(line)-1] = '\0';
strmid(FDaten[_cache_fahrzeug][fBesitzer],strtok(line,car_index,','),0,MAX_PLAYER_NAME,MAX_PLAYER_NAME);
FDaten[_cache_fahrzeug][fPreis] = strval(strtok(line,car_index,','));
FDaten[_cache_fahrzeug][fLocked] = strval(strtok(line,car_index,','));
FDaten[_cache_fahrzeug][fTunbar] = strval(strtok(line,car_index,','));
FDaten[_cache_fahrzeug][fVerwahrt] = strval(strtok(line,car_index,','));
FDaten[_cache_fahrzeug][fVerkauft] = strval(strtok(line,car_index,','));
FDaten[_cache_fahrzeug][fModelID] = strval(strtok(line,car_index,','));
FDaten[_cache_fahrzeug][fX] = floatstr(strtok(line,car_index,','));
FDaten[_cache_fahrzeug][fY] = floatstr(strtok(line,car_index,','));
FDaten[_cache_fahrzeug][fZ] = floatstr(strtok(line,car_index,','));
FDaten[_cache_fahrzeug][fA] = floatstr(strtok(line,car_index,','));
FDaten[_cache_fahrzeug][vX] = floatstr(strtok(line,car_index,','));
FDaten[_cache_fahrzeug][vY] = floatstr(strtok(line,car_index,','));
FDaten[_cache_fahrzeug][vZ] = floatstr(strtok(line,car_index,','));
FDaten[_cache_fahrzeug][vA] = floatstr(strtok(line,car_index,','));
FDaten[_cache_fahrzeug][fFarbe1] = strval(strtok(line,car_index,','));
FDaten[_cache_fahrzeug][fFarbe2] = strval(strtok(line,car_index,','));
FDaten[_cache_fahrzeug][fJob] = strval(strtok(line,car_index,','));
FDaten[_cache_fahrzeug][fFraktion] = strval(strtok(line,car_index,','));
FDaten[_cache_fahrzeug][fPaintjob] = strval(strtok(line,car_index,','));
FDaten[_cache_fahrzeug][fTuningteil0] = strval(strtok(line,car_index,','));
FDaten[_cache_fahrzeug][fTuningteil1] = strval(strtok(line,car_index,','));
FDaten[_cache_fahrzeug][fTuningteil2] = strval(strtok(line,car_index,','));
FDaten[_cache_fahrzeug][fTuningteil3] = strval(strtok(line,car_index,','));
FDaten[_cache_fahrzeug][fTuningteil4] = strval(strtok(line,car_index,','));
FDaten[_cache_fahrzeug][fTuningteil5] = strval(strtok(line,car_index,','));
FDaten[_cache_fahrzeug][fTuningteil6] = strval(strtok(line,car_index,','));
FDaten[_cache_fahrzeug][fTuningteil7] = strval(strtok(line,car_index,','));
FDaten[_cache_fahrzeug][fTuningteil8] = strval(strtok(line,car_index,','));
FDaten[_cache_fahrzeug][fTuningteil9] = strval(strtok(line,car_index,','));
FDaten[_cache_fahrzeug][fTuningteil10] = strval(strtok(line,car_index,','));
FDaten[_cache_fahrzeug][fTuningteil11] = strval(strtok(line,car_index,','));
FDaten[_cache_fahrzeug][fTuningteil12] = strval(strtok(line,car_index,','));
FDaten[_cache_fahrzeug][fTuningteil13] = strval(strtok(line,car_index,','));
if(FDaten[_cache_fahrzeug][fVerwahrt] == 0)
{
FDaten[_cache_fahrzeug][fCarID] = CreateVehicle(FDaten[_cache_fahrzeug][fModelID],FDaten[_cache_fahrzeug][fX],FDaten[_cache_fahrzeug][fY],FDaten[_cache_fahrzeug][fZ],FDaten[_cache_fahrzeug][fA],FDaten[_cache_fahrzeug][fFarbe1],FDaten[_cache_fahrzeug][fFarbe2], -1);
SetTimerEx("PrivatCarTuneUp",1000,0,"d",_cache_fahrzeug);
}
else
{
FDaten[_cache_fahrzeug][fCarID] = CreateVehicle(FDaten[_cache_fahrzeug][fModelID],FDaten[_cache_fahrzeug][vX],FDaten[_cache_fahrzeug][vY],FDaten[_cache_fahrzeug][vZ],FDaten[_cache_fahrzeug][vA],FDaten[_cache_fahrzeug][fFarbe1],FDaten[_cache_fahrzeug][fFarbe2], -1);
SetTimerEx("PrivatCarTuneUp",1000,0,"d",_cache_fahrzeug);
}
car_index = 0;
_cache_fahrzeug++;
}
fclose(carx);
}
public SaveCache()
{
new fm[255],File:carx = fopen(CAR_DATEI,io_write);
for(new i = 0;i<_cache_fahrzeug;i++)
{
if(FDaten[i][fModelID] != 0)
{
format(fm,sizeof fm,"%s,%d,%d,%d,%d,%d,%d,%f,%f,%f,%f,%f,%f,%f,%f,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d\r\n",
FDaten[i][fBesitzer],
FDaten[i][fPreis],
FDaten[i][fVerkauft],
FDaten[i][fLocked],
FDaten[i][fTunbar],
FDaten[i][fVerwahrt],
FDaten[i][fModelID],
FDaten[i][fX],
FDaten[i][fY],
FDaten[i][fZ],
FDaten[i][fA],
FDaten[i][vX],
FDaten[i][vY],
FDaten[i][vZ],
FDaten[i][vA],
FDaten[i][fFarbe1],
FDaten[i][fFarbe2],
FDaten[i][fJob],
FDaten[i][fFraktion],
FDaten[i][fPaintjob],
FDaten[i][fTuningteil0],
FDaten[i][fTuningteil1],
FDaten[i][fTuningteil2],
FDaten[i][fTuningteil3],
FDaten[i][fTuningteil4],
FDaten[i][fTuningteil5],
FDaten[i][fTuningteil6],
FDaten[i][fTuningteil7],
FDaten[i][fTuningteil8],
FDaten[i][fTuningteil9],
FDaten[i][fTuningteil10],
FDaten[i][fTuningteil11],
FDaten[i][fTuningteil12],
FDaten[i][fTuningteil13]);
fwrite(carx,fm);
}
}
fclose(carx);
return 1;
}
dcmd_admcreate(playerid,params[])
{
new cmodelid, cfarbe1, cfarbe2, cpreis, ctunbar, cjob, cfraktion;
if(sscanf(params, "ddddddd", cmodelid,cfarbe1,cfarbe2,cpreis,ctunbar,cjob,cfraktion)) return SendClientMessage(playerid, COLOR_WHITE, "Verwendung: /admcreate ModelID Farbe1 Farbe2 Preis Tunbar Job Fraktion");
else if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,COLOR_GREY,"Du bist kein RCON Admin");
else
{
new Float:JPos[4];
new slotid = initSlot();
new fullid = (slotid==-1) ? (_cache_fahrzeug) : (slotid);
GetPlayerPos(playerid,JPos[0],JPos[1],JPos[2]);
GetPlayerFacingAngle(playerid,JPos[3]);
strmid(FDaten[fullid][fBesitzer],"Keiner",0,MAX_PLAYER_NAME,MAX_PLAYER_NAME);
FDaten[fullid][fPreis] = cpreis;
FDaten[fullid][fVerkauft] = 0;
FDaten[fullid][fLocked] = 0;
FDaten[fullid][fTunbar] = ctunbar;
FDaten[fullid][fVerwahrt] = 0;
FDaten[fullid][fModelID] = cmodelid;
FDaten[fullid][fX] = JPos[0];
FDaten[fullid][fY] = JPos[1];
FDaten[fullid][fZ] = JPos[2];
FDaten[fullid][fA] = JPos[3];
FDaten[fullid][vX] = (0.0);
FDaten[fullid][vY] = (0.0);
FDaten[fullid][vZ] = (0.0);
FDaten[fullid][vA] = (0.0);
FDaten[fullid][fFarbe1] = cfarbe1;
FDaten[fullid][fFarbe2] = cfarbe2;
FDaten[fullid][fJob] = cjob;
FDaten[fullid][fFraktion] = cfraktion;
FDaten[fullid][fPaintjob] = 0;
FDaten[fullid][fCarID] = CreateVehicle(cmodelid,JPos[0],JPos[1],JPos[2],JPos[3],cfarbe1,cfarbe2, -1);
if(slotid==-1)_cache_fahrzeug++;
SaveCache();
}
return 1;
}
MfG dUDA