Fahrzeug Problem mit der Speicherung (Autohaus System)

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
  • @Kaliber



    Brauche dringend hilfe man kann sich komischerweiße nicht mehr einloggen!!!


    [23:47:14] [debug] #1 00418a94 in public OnPlayerLoad (playerid=1, step=10) at C:\Users\ASUS\Desktop\Gaming-Board\gamemodes\Bearbeitetes.pwn:57029
    10:




    STEP 10:




    /*case 10:// Fahrzeuge
    {
    new lCount, lID, ModelID, Color[2], Float:Pos[4], tmp_databaseid;
    if(rows)
    {
    while(lCount < rows)
    {
    for(new slot=0;slot<MAX_SPIELERAUTOS;slot++)
    {
    cache_get_field_content(lCount, "ID", lResult), tmp_databaseid = strval(lResult);
    cache_get_field_content(lCount, "ModelID", lResult); ModelID = strval(lResult);
    if(ModelID < 400 || ModelID > 611) continue;
    cache_get_field_content(lCount, "Farbe1", lResult); Color[0] = strval(lResult);
    cache_get_field_content(lCount, "Farbe2", lResult); Color[1] = strval(lResult);
    cache_get_field_content(lCount, "PosX", lResult); Pos[0] = floatstr(lResult);
    cache_get_field_content(lCount, "PosY", lResult); Pos[1] = floatstr(lResult);
    cache_get_field_content(lCount, "PosZ", lResult); Pos[2] = floatstr(lResult);
    cache_get_field_content(lCount, "PosA", lResult); Pos[3] = floatstr(lResult);


    new vid = CreateVehicleEx(ModelID, Pos[0], Pos[1], Pos[2], Pos[3], Color[0], Color[1]);
    cache_get_field_content(lCount, "AnmeldungsOrt", lResult); SpielerAutoInfo[playerid][slot][saAnmeldungsOrt] = strval(lResult);
    cache_get_field_content(lCount, "KFZNummer", lResult); SpielerAutoInfo[playerid][slot][saKFZNummer] = strval(lResult);
    cache_get_field_content(lCount, "KennzeichenFarbe", lResult), SpielerAutoInfo[playerid][slot][saKennzeichenFarbe] = strval(lResult);
    SetVehicleRightNumberPlate(vid);
    SpielerAutoInfo[playerid][slot][saDatabaseID] = tmp_databaseid;
    SpielerAutoInfo[playerid][slot][saFarbe1] = Color[0];
    SpielerAutoInfo[playerid][slot][saFarbe2] = Color[1];
    SpielerAutoInfo[playerid][slot][saModelID] = ModelID;
    SpielerAutoInfo[playerid][slot][saPosX] = Pos[0];
    SpielerAutoInfo[playerid][slot][saPosY] = Pos[1];
    SpielerAutoInfo[playerid][slot][saPosZ] = Pos[2];
    SpielerAutoInfo[playerid][slot][saPosA] = Pos[3];
    cache_get_field_content(lCount, "KaufPreis", lResult); SpielerAutoInfo[playerid][slot][saKaufPreis] = strval(lResult);
    cache_get_field_content(lCount, "Besitzer", lResult), format(SpielerAutoInfo[playerid][slot][saBesitzer], 128, "%s", lResult);
    cache_get_field_content(lCount, "ParkPosX", lResult), SpielerAutoInfo[playerid][slot][saParkPosX] = floatstr(lResult);
    cache_get_field_content(lCount, "ParkPosY", lResult), SpielerAutoInfo[playerid][slot][saParkPosY] = floatstr(lResult);
    cache_get_field_content(lCount, "ParkPosZ", lResult), SpielerAutoInfo[playerid][slot][saParkPosZ] = floatstr(lResult);
    cache_get_field_content(lCount, "ParkPosA", lResult), SpielerAutoInfo[playerid][slot][saParkPosA] = floatstr(lResult);
    cache_get_field_content(lCount, "Paintjob", lResult), SpielerAutoInfo[playerid][slot][saPaintjob] = strval(lResult);
    cache_get_field_content(lCount, "Versichert", lResult), SpielerAutoInfo[playerid][slot][saVersichert] = strval(lResult);
    cache_get_field_content(lCount, "Abgeschleppt", lResult), SpielerAutoInfo[playerid][slot][saAbgeschleppt] = strval(lResult);
    cache_get_field_content(lCount, "TankInhalt", lResult), SpielerAutoInfo[playerid][slot][saTankInhalt] = strval(lResult);
    cache_get_field_content(lCount, "TankArt", lResult), SpielerAutoInfo[playerid][slot][saTankArt] = strval(lResult);
    cache_get_field_content(lCount, "Batterie", lResult), SpielerAutoInfo[playerid][slot][saBatterie] = strval(lResult);
    cache_get_field_content(lCount, "MeterStand", lResult), SpielerAutoInfo[playerid][slot][saMeterStand] = strval(lResult);
    cache_get_field_content(lCount, "Motor", lResult), SpielerAutoInfo[playerid][slot][saMotor] = strval(lResult);
    cache_get_field_content(lCount, "Licht", lResult), SpielerAutoInfo[playerid][slot][saLicht] = strval(lResult);
    cache_get_field_content(lCount, "Handbremse", lResult), SpielerAutoInfo[playerid][slot][saHandbremse] = strval(lResult);
    cache_get_field_content(lCount, "TagesMeterStand", lResult), SpielerAutoInfo[playerid][slot][saTagesMeterStand] = strval(lResult);
    cache_get_field_content(lCount, "FRadio", lResult), SpielerAutoInfo[playerid][slot][saFRadio] = strval(lResult);
    cache_get_field_content(lCount, "Zustand", lResult), SpielerAutoInfo[playerid][slot][saZustand] = floatstr(lResult);
    cache_get_field_content(lCount, "Mod1", lResult), SpielerAutoInfo[playerid][slot][saMod1] = strval(lResult);
    cache_get_field_content(lCount, "Mod2", lResult), SpielerAutoInfo[playerid][slot][saMod2] = strval(lResult);
    cache_get_field_content(lCount, "Mod3", lResult), SpielerAutoInfo[playerid][slot][saMod3] = strval(lResult);
    cache_get_field_content(lCount, "Mod4", lResult), SpielerAutoInfo[playerid][slot][saMod4] = strval(lResult);
    cache_get_field_content(lCount, "Mod5", lResult), SpielerAutoInfo[playerid][slot][saMod5] = strval(lResult);
    cache_get_field_content(lCount, "Mod6", lResult), SpielerAutoInfo[playerid][slot][saMod6] = strval(lResult);
    cache_get_field_content(lCount, "Mod7", lResult), SpielerAutoInfo[playerid][slot][saMod7] = strval(lResult);
    cache_get_field_content(lCount, "Mod8", lResult), SpielerAutoInfo[playerid][slot][saMod8] = strval(lResult);
    cache_get_field_content(lCount, "Mod9", lResult), SpielerAutoInfo[playerid][slot][saMod9] = strval(lResult);
    cache_get_field_content(lCount, "Mod10", lResult), SpielerAutoInfo[playerid][slot][saMod10] = strval(lResult);
    cache_get_field_content(lCount, "Mod11", lResult), SpielerAutoInfo[playerid][slot][saMod11] = strval(lResult);
    cache_get_field_content(lCount, "Mod12", lResult), SpielerAutoInfo[playerid][slot][saMod12] = strval(lResult);
    cache_get_field_content(lCount, "Mod13", lResult), SpielerAutoInfo[playerid][slot][saMod13] = strval(lResult);
    cache_get_field_content(lCount, "Mod14", lResult), SpielerAutoInfo[playerid][slot][saMod14] = strval(lResult);
    cache_get_field_content(lCount, "Panels", lResult), SpielerAutoInfo[playerid][slot][saPanels] = strval(lResult);
    cache_get_field_content(lCount, "Doors", lResult), SpielerAutoInfo[playerid][slot][saDoors] = strval(lResult);
    cache_get_field_content(lCount, "Lights", lResult), SpielerAutoInfo[playerid][slot][saLights] = strval(lResult);
    cache_get_field_content(lCount, "Tires", lResult), SpielerAutoInfo[playerid][slot][saTires] = strval(lResult);
    cache_get_field_content(lCount, "Panzerung", lResult), SpielerAutoInfo[playerid][slot][saPanzerung] = strval(lResult);
    cache_get_field_content(lCount, "Autogas", lResult), SpielerAutoInfo[playerid][slot][saAutogas] = strval(lResult);
    cache_get_field_content(lCount, "GPSSystem", lResult), SpielerAutoInfo[playerid][slot][saGPSSystem] = strval(lResult);
    cache_get_field_content(lCount, "userID", lResult), SpielerAutoInfo[playerid][slot][saUserID] = strval(lResult);
    if(SpielerAutoInfo[playerid][slot][saZustand] > 300) SetVehicleHealth(vid, SpielerAutoInfo[playerid][slot][saZustand]);
    else SetVehicleHealth(vid, 300);
    TankInhalt[vid] = SpielerAutoInfo[playerid][slot][saTankInhalt];
    Batterie[vid] = SpielerAutoInfo[playerid][slot][saBatterie];
    MeterStand[vid] = SpielerAutoInfo[playerid][slot][saMeterStand];
    Motor[vid] = SpielerAutoInfo[playerid][slot][saMotor];
    Licht[vid] = SpielerAutoInfo[playerid][slot][saLicht];
    HandbremsePos[vid][0] = Pos[0];
    HandbremsePos[vid][1] = Pos[1];
    HandbremsePos[vid][2] = Pos[2];
    HandbremsePos[vid][3] = Pos[3];
    Handbremse[vid] = SpielerAutoInfo[playerid][slot][saHandbremse];
    TagesMeterStand[vid] = SpielerAutoInfo[playerid][slot][saTagesMeterStand];
    FRadio[vid] = SpielerAutoInfo[playerid][slot][saFRadio];
    TankInhaltArt[vid] = SpielerAutoInfo[playerid][slot][saTankArt];
    AddSpielerCarComponents(vid);
    UpdateVehicleDamageStatus(vid, SpielerAutoInfo[playerid][slot][saPanels], SpielerAutoInfo[playerid][slot][saDoors], SpielerAutoInfo[playerid][slot][saLights], SpielerAutoInfo[playerid][slot][saTires]);
    lID++; lCount++;
    }
    }
    }

    3 Mal editiert, zuletzt von seegras () aus folgendem Grund: Wir haben auch einen PAWN-Quellcode Tag

  • Ich meinte nur den Log vom crashdetect...

    Accessing element at index 204 past array upper bound 203

    Da, das ist dein Fehler.


    Das bedeutet die vehicleid ist 204, allerdings ist dein Array nur für 203 ausgelegt.


    Sprich du musst dein Array einfach nur vergrößern bzw einfach MAX_VEHICLES verwenden und das halt groß genug definieren :)

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Naja, irgendwas muss ja auf 203 oder so definiert sein...wenn das MAX_SPIELERAUTOS ist, dann ja.


    Keine Ahnung, ich kennen deinen Code nicht...

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Dann wird es das nicht sein.


    Schau dir deine Variablen an, die in dem Codeabschnitt verwendet werden.


    Und nun suche die, wo [vid] verwendet wird.


    Zum Beispiel: TankInhalt[vid]


    Wie ist jetzt TankInhalt deklariert?


    Wenn es new TankInhalt[203]; ist, dann ist hier der Fehler...da das Array zu klein ist.


    Überprüfe eben deine Variablen...und vergrößere den Array Bereich so, dass es sagen wir mal 250 Autos platz haben, man will da ja auch immer ein bisschen Puffer haben, falls man eben InGame Autos erstellt...

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Schau dir deine Variablen an, die in dem Codeabschnitt verwendet werden.


    Und nun suche die, wo [vid] verwendet wird.

    ...hast du meinen Beitrag auch wirklich gelesen? :D


    Ich hab sogar ein Beispiel gemacht...



    Da schau, es geht um diese Variablen, da wo [vid] verwendet wird...

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S


  • new TankInhaltArt[MAX_VEHICLES];
    new TankInhalt[MAX_VEHICLES];
    new Batterie[MAX_VEHICLES];
    new MeterStand[MAX_VEHICLES];
    new TagesMeterStand[MAX_VEHICLES];
    new Licht[MAX_VEHICLES];
    new Motor[MAX_VEHICLES];
    new Handbremse[MAX_VEHICLES];
    new Float:HandbremsePos[MAX_VEHICLES][4];
    new FRadio[MAX_VEHICLES];

  • Steht irgendwo in deinem Skript #define MAX_VEHICLES


    Das halt doof, kann auch sein, dass das irgendwo in Includes von dir steht.


    Mit Glück ist es auch nicht neu definiert worden, printe dir am besten mal den Wert von MAX_VEHICLES :)


    Falls dieser > 250 sein sollte, dann liegt der Fehler wo anders und es muss noch eine andere Variable in deinem Code geben ;)


    Diese kannst du durch print Debugging finden...mach viele print Statements und da wo der Code abbricht, die darunter werden nicht mehr aufgerufen ;)

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S



  • do.de - Domain-Offensive - Domains für alle und zu super Preisen