Spawnproblem bei Carsystem

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


    1.Frage
    Ich habe ein Problem mit meinem Carsystem. Ich erstelle sagen wir 4 Kaufautos beim LS Hospital. Die Autos werden erstellt und alles geht. Nach einem Restart spawnen all die 4 Cars in der Nähe des Standort-Spawns (oben bei Red County auf dem Feld). Zudem kann dann ein User mein Auto kaufen :P Das Carlock und weitere Funktionen gehen nicht, es scheint so, als wäre das ganze Sytem durcheinandergeraten.


    2.Frage
    Gibt es eine einfache Funktion/Codeschnippsel für ein GetVehicleColour, da es diese Funktion anscheinend nicht gibt xD


    Der Code, welcher bei OnGameModeInit:


    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);
    }
    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);
    }

  • Hallo


    Kann mir den niemand helfen ;)
    Ich bin jetzt mal soweit und es verschiebt sich ingame alles. Anstatt dem Geländewagen-ähnlichen Wagen steht zB ein Kleinwagen da und alle Infos der Cars sind durcheinander:


    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][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);
    }


    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;
    }


    MfG dUDA

  • Hallo


    Kann mir niemand helfen ? Ich habe in der Zwischenzeit herausgefunden, dass es höchstwahrscheinlich falsch geladen wird, da die Autos immer um die Koordinaten 0.0,0.0,0.0 spawnen. Jedoch ist damit das Thema mit den komischen, verschobenen Careigenschaften nicht ganz klar.


    MfG dUDA