Fraktionscar Problem.

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
  • Schönen guten Abend liebe Community,


    ich habe ein blödes problem, und zwar wenn ich ein Fahrzeug für die Frakion kaufe, dann trägt er dieses zwar in die Datenbank richtig ein
    aber er erstellt es nicht ? Nach einem Restart Funktioniert dann garnichts mehr und er spuckt mir mehrere Errors in der Console aus ? ...


    Könnt ihr mal drüber schauen ?..


    for(new a; a<MAX_FCARS; a++)
    {
    if(FraktionsCar[a][cfID])continue;
    format(string,sizeof(string),"INSERT INTO `fcars` (`fID`,`ModelID`,`posx`,`posy`,`posz`,`posr`,`c1`,`c2`,`rang`) VALUES ('%d','%d','%f','%f','%f','0.0','0','0','0')",SpielerInfo[playerid] [Fraktion],GetPlayerVehicleID(playerid),AutoHausCar[carid][spx],AutoHausCar[carid][spy],AutoHausCar[carid][spz]);
    mysql_query(string);
    FCAR[a] = CreateVehicle(FraktionsCar[a][ModelID],AutoHausCar[carid][spx],AutoHausCar[carid][spy],AutoHausCar[carid][spz],0.0,0,0,-1);
    break;
    }


    Wird zwar eingetragen, aber das Fahrzeug wird nicht erstellt ? ..


    Fahrzeuge laden:


    stock LoadFCars()
    {
    new query[256];
    mysql_query("SELECT * FROM `fcars`");
    mysql_store_result();
    for(new i; i<mysql_num_rows(); i++)
    {
    if(i>MAX_FCARS)break;
    mysql_retrieve_row();
    mysql_fetch_field_row(query,"id"); FraktionsCar[i][cfID] = strval(query);
    mysql_fetch_field_row(query,"fID"); FraktionsCar[i][Fraktionid] = strval(query);
    mysql_fetch_field_row(query,"ModelID"); FraktionsCar[i][ModelID] = strval(query);
    mysql_fetch_field_row(query,"posx"); FraktionsCar[i][posx] = strval(query);
    mysql_fetch_field_row(query,"posy"); FraktionsCar[i][posy] = strval(query);
    mysql_fetch_field_row(query,"posz"); FraktionsCar[i][posz] = strval(query);
    mysql_fetch_field_row(query,"posr"); FraktionsCar[i][posr] = strval(query);
    mysql_fetch_field_row(query,"c1"); FraktionsCar[i][cc1] = strval(query);
    mysql_fetch_field_row(query,"c2"); FraktionsCar[i][cc2] = strval(query);
    mysql_fetch_field_row(query,"Rang"); FraktionsCar[i][frang] = strval(query);
    FCAR[i] = CreateVehicle(FraktionsCar[i][ModelID],FraktionsCar[i][posx],FraktionsCar[i][posy],FraktionsCar[i][posz],FraktionsCar[i][posr],FraktionsCar[i][cc1],FraktionsCar[i][cc2],-1);
    SetVehicleParamsEx(FCAR[i],VEHICLE_PARAMS_OFF,lights,alarm,VEHICLE_PARAMS_ON,bonnet,boot,objective);
    fcarlocked[FCAR[i]] = true;
    }
    mysql_free_result();
    }


    Errors danach:


    [21:50:28] [debug] Run time error 4: "Array index out of bounds"
    [21:50:28] [debug] Accessing element at index 65535 past array upper bound 199
    [21:50:28] [debug] AMX backtrace:
    [21:50:28] [debug] #0 000e9f40 in LoadFCars () at C:\Users\Kevin\Desktop\IRP MySQL\gamemodes\IRP.pwn:19286
    [21:50:28] [debug] #1 000d3e84 in public AllesLaden () at C:\Users\Kevin\Desktop\IRP MySQL\gamemodes\IRP.pwn:17692
    [21:50:28] [debug] #2 00008224 in public zcmd_OnGameModeInit () at C:\Users\Kevin\Desktop\IRP MySQL\gamemodes\IRP.pwn:1472
    [21:50:28] [debug] #3 native CallLocalFunction () [00471e90] from samp-server.exe
    [21:50:28] [debug] #4 000072ec in public SSCANF_OnGameModeInit () at C:\Users\Kevin\Desktop\IRP MySQL\pawno\include\zcmd.inc:68
    [21:50:28] [debug] #5 00001640 in public OnGameModeInit () at C:\Users\Kevin\Desktop\IRP MySQL\pawno\include\sscanf2.inc:174


    Edit: Also den Fehler warum nichts mehr funktioniert hat, habe ich bereits behoben, aber ich verstehe immer noch nicht wieso er das Fahrzeug weder nach
    dem Kauf noch nach einem Restart nicht erstellt ? .. Laden tut er die Fahrzeuge auch 100%ig.

    Einmal editiert, zuletzt von .Kevin ()

  • Run time error 4: "Array index out of bounds"


    Du willst einen höheren Wert als 199 in dein Array schreiben und bekommst einen Runtime Error 4, weil dein Array nicht so viele Felder besitzt.


    Also, mach mal n Print-Debug was du da rein schreibt?! ;)


    mfg. :thumbup:

    ast2ufdyxkb1.png


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


  • Du willst einen höheren Wert als 199 in dein Array schreiben und bekommst einen Runtime Error 4, weil dein Array nicht so viele Felder besitzt.


    Also, mach mal n Print-Debug was du da rein schreibt?! ;)


    mfg. :thumbup:

    Den Fehler habe ich schon behoben ^^
    Es geht jetzt darum das er die Fahrzeuge weder nach dem Kauf noch nach einem Restart erstellt.