VehicleID Problem in einem Carownersystem

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hallo


    Ich habe mir mal ein Carsystem gebaut, bei dem die Cars nach einem Logout nicht gelöscht werden. Jedoch habe ich ein VehicleID Problem und ich rast echt langsam aus xD, wir sind zu 3. am testen und bei jedem geht das nicht, was beim anderen geht.


    PS: Man könnte es vielleicht umbauen, dass beim Laden der Cars die Vehicle ID unabhängig vom System abgespeichert wird.


    FReadCode
    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 if(FDaten[_cache_fahrzeug][fVerwahrt] == 1)
    {
    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);
    }


    BeispielCode, bei welchem man immer die Nachricht bekommt, die Kiste gehört nicht einem obwohl sie einem gehört
    dcmd_carlock(playerid,params[])
    {
    #pragma unused params
    new Float:APos[3];
    if(PlayerInfo[playerid][pFAnzahl] == 0) return SendClientMessage(playerid,COLOR_GREY,"Du besitzt kein Fahrzeug");
    else
    {
    for(new i = 0;i<_cache_fahrzeug;i++)
    {
    if(strcmp(FDaten[i][fBesitzer],spielername(playerid))){SendClientMessage(playerid,COLOR_GREY,"Dieses Fahrzeug gehört nicht dir");break;}
    GetVehiclePos(FDaten[i][fCarID], APos[0], APos[1], APos[2]);
    if(IsPlayerInRangeOfPoint(playerid, 3, APos[0],APos[1],APos[2]))
    {
    if(FDaten[i][fLocked] == 1)
    {
    for(new p = 0; p < MAX_PLAYERS; p++)
    {
    SetVehicleParamsForPlayer(FDaten[i][fCarID], p, 0, 0);
    }
    SendClientMessage(playerid,COLOR_GREEN,"Auto aufgeschlossen");
    FDaten[i][fLocked] = 0;
    SaveCache();
    break;
    }
    else
    {
    for(new p = 0; p < MAX_PLAYERS; p++)
    {
    SetVehicleParamsForPlayer(FDaten[i][fCarID], p, 0, 1);
    }
    SendClientMessage(playerid,COLOR_GREEN,"Auto geschlossen");
    FDaten[i][fLocked] = 1;
    SaveCache();
    break;
    }
    }
    }
    }
    return 1;
    }


    Ich wäre um Hilfe echt froh, auch um Tipps, ich bin am verzweifeln und sehe nur die grösste Bugsammlung meines Lebens