MySQL 5.1.73-1 - (Debian), komisches Problem. (Localhost via UNIX Socket)

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
  • Ich grüße euch Breadfisch, ich habe ein Problem bei meinem Fraktionsfahrzeugen, die nicht richtig gespeichert werden,
    naja eine Variable wird nicht richtig gespeichert, ich hoffe ihr könnt mir da ein bisschen helfen, da ich den Sinn nicht verstehe,
    vielleicht könnt ihr mir ja allgemein helfen, vielleicht hab ich komplett etwas falsch gemacht, naja, ich bin mir aber über keinen Fehler bewusst.
    Bevor ich zum Problem überschreite, ein paar Daten die hilfreich sein können.


    MySQL-Infos
    Server: Localhost via UNIX socket
    Server-Typ: MySQL
    Server Version: 5.1.73-1 - (Debian)
    Protokoll-Version: 10
    Benutzer: samp4337@localhost
    Server Zeichensatz: UTF-8 Unicode
    (utf8)



    Fehlerbeschreibung
    Also der Fehler ist dieser, ich fahre ein bisschen mit einem frisch erstellten Fraktionsfahrzeug herum, dann mache ich irgendwann einmal /fparken, dann
    wird alles sofort gespeichert, das Fahrzeug wird kurz gelöscht und sofort wieder erstellt, es sollten Dabei keine Daten verloren gehen, jedenfalls, zeigt der Tachometer immer seine richtige KM-Anzahl an, bspw. 3.1km usw. nachdem der Befehl /fparken ausgeführt wurde, ist die distanz, das was ich gefahren bin im Beispiel wieder 0.0 km, sie wurde einfach resettet ohne jeglichen Grund, es ist auch nichts zu finden, was das resettet, das ist schon etwas doof, denn die distanz sollte wegen dem Oilwechsel und Tüvsystem gespeichert werden und nicht bei /fparken resettet werden. Das ist sehr komisch, vielleicht kennt der eine oder andere das Problem, und kann mir da beistehen.


    Die Scriptfunktion
    ocmd:fparken(playerid)
    {
    if(!DarfPlayerCommand(playerid))return ErrorMsg(playerid,"Du kannst keine Befehle nutzen.");
    if(SpielerInfo[playerid][Frakt]==0&&!isImporter(playerid))return ErrorMsg(playerid,"Du bist nicht in der jewaligen Fraktion.");
    if(SpielerInfo[playerid][leader]==0&&!isImporter(playerid))return ErrorMsg(playerid,"Du bist kein Leader.");
    if(GetPlayerVehicleSeat(playerid)!=0)return ErrorMsg(playerid,"Du bist nicht der Fahrer des Fahrzeuges.");
    for(new i=1;i<MAX_AUTOS;i++)
    {
    if(FraktAuto[i][id_x]!=GetPlayerVehicleID(playerid))continue;
    if(FraktAuto[i][besitzer]==SpielerInfo[playerid][Frakt]||FraktAuto[i][besitzer]==32&&SpielerInfo[playerid][Frakt]==4||isImporter(playerid)&&FraktAuto[i][besitzer]==31)
    {
    SendClientMessage(playerid,COLOR_GRUEN,"Du hast das Fahrzeug erfolgreich umgeparkt.");
    GetVehiclePos(FraktAuto[i][id_x],FraktAuto[i][v_xc],FraktAuto[i][v_yc],FraktAuto[i][v_zc]);
    GetVehicleZAngle(FraktAuto[i][id_x],FraktAuto[i][v_ac]);
    OneFCarSave(i);
    FCarSpawner(i);
    PutPlayerInVehicle(playerid,FraktAuto[i][id_x],0);
    return 1;
    }
    }
    return 1;
    }


    -------------------------------------
    stock OneFCarSave(i)
    {
    new amainquery[1000],aquery[500];
    if(FraktAuto[i][vmodel]!=0)
    {
    GetVehiclePos(FraktAuto[i][id_x],FraktAuto[i][v_xc],FraktAuto[i][v_yc],FraktAuto[i][v_zc]);
    GetVehicleZAngle(FraktAuto[i][id_x],FraktAuto[i][v_ac]);
    format(aquery,sizeof(aquery),"UPDATE `fraktautos` SET `besitzer`='%i',`model`='%i',`paintjob`='%i',`farbe1`='%i',`farbe2`='%i',`vmod0`='%i',`vmod1`='%i',`vmod2`='%i',`vmod3`='%i',`vmod4`='%i',`vmod5`='%i',",
    FraktAuto[i][besitzer],FraktAuto[i][vmodel],FraktAuto[i][paintjob],FraktAuto[i][vfarbe1],FraktAuto[i][vfarbe2],FraktAuto[i][vmod0],FraktAuto[i][vmod1],FraktAuto[i][vmod2],FraktAuto[i][vmod3],FraktAuto[i][vmod4],FraktAuto[i][vmod5]);
    strcat(amainquery,aquery);
    format(aquery,sizeof(aquery),"`vmod6`='%i',`vmod7`='%i',`vmod8`='%i',`vmod9`='%i',`vmod10`='%i',`vmod11`='%i',`vmod12`='%i',`vmod13`='%i',`benzin`='%i',`kaputt`='%i',`carlsd`='%i',`carmats`='%i',",
    FraktAuto[i][vmod6],FraktAuto[i][vmod7],FraktAuto[i][vmod8],FraktAuto[i][vmod9],FraktAuto[i][vmod10],FraktAuto[i][vmod11],FraktAuto[i][vmod12],FraktAuto[i][vmod13],FraktAuto[i][benzin],istkaputt[FraktAuto[i][id_x]],carLSD[FraktAuto[i][id_x]],carMats[FraktAuto[i][id_x]]);
    strcat(amainquery,aquery);
    format(aquery,sizeof(aquery),"`carc4`='%i',`carhanf`='%i',`carlunch`='%i',`carkoks`='%i',`distance`='%f',`carpizza0`='%i',`carpizza1`='%i',`lastwechsel`='%i',`neon`='%i',`x`='%f',",
    carC4[FraktAuto[i][id_x]],carHanf[FraktAuto[i][id_x]],carLunch[FraktAuto[i][id_x]],carKoks[FraktAuto[i][id_x]],distanz[FraktAuto[i][id_x]],carPizza[0][FraktAuto[i][id_x]],carPizza[1][FraktAuto[i][id_x]],FraktAuto[i][lastwechsel],FraktAuto[i][neon],FraktAuto[i][v_xc]);
    strcat(amainquery,aquery);
    format(aquery,sizeof(aquery),"`y`='%f',`z`='%f',`a`='%f',`preis`='%i',`dunger`='%i',`carkit`='%i' WHERE `id`='%i'",
    FraktAuto[i][v_yc],FraktAuto[i][v_zc],FraktAuto[i][v_ac],FraktAuto[i][preis],carDunger[FraktAuto[i][id_x]],carKit[FraktAuto[i][id_x]],FraktAuto[i][d_id]);
    strcat(amainquery,aquery);
    mysql_query(amainquery);
    mysql_free_result();
    strdel(amainquery,0,sizeof(amainquery));
    strdel(aquery,0,sizeof(aquery));
    printf("- Fraktionsfahrzeug %d gespeichert -",i);
    }
    return 1;
    }
    -------------------------------------
    forward FCarSpawner(i);
    ------------------------------------
    public FCarSpawner(i)
    {
    DestroyVehicle(FraktAuto[i][id_x]);
    FraktAuto[i][id_x]=CreateVehicleEx(FraktAuto[i][vmodel],FraktAuto[i][v_xc],FraktAuto[i][v_yc],FraktAuto[i][v_zc],FraktAuto[i][v_ac],FraktAuto[i][vfarbe1],FraktAuto[i][vfarbe2],-1);
    if(FraktAuto[i][besitzer]==13){format(string,sizeof(string),"Präsi");}
    else
    {
    if(FraktAuto[i][besitzer]==31||FraktAuto[i][besitzer]==32)
    {
    if(FraktAuto[i][preis]==789){format(string,sizeof(string),"Import");}
    if(FraktAuto[i][preis]==1789){format(string,sizeof(string),"Gebraucht");}
    }
    else{format(string,sizeof(string),"%s-%d",getFCarOwner(FraktAuto[i][besitzer]),FraktAuto[i][id_x]);}
    }
    SetVehicleNumberPlateEx(FraktAuto[i][id_x],string);
    FahrzeugTunen(i);
    switch(GetVehicleModel(i))
    {
    case 433:{SetVehicleHealth(i,3250.0);}
    case 432:{SetVehicleHealth(i,10000);}
    case 528:{SetVehicleHealth(i,4000);}
    case 601:{SetVehicleHealth(i,4000);}
    case 596:{SetVehicleHealth(i,1500);}
    case 598:{SetVehicleHealth(i,1500);}
    case 597:{SetVehicleHealth(i,1500);}
    case 599:{SetVehicleHealth(i,1500);}
    case 427:{SetVehicleHealth(i,3000);}
    case 490:{SetVehicleHealth(i,2500);}
    case 470:{SetVehicleHealth(i,2000);}
    case 428:{SetVehicleHealth(i,4000);}
    }
    return 1;
    }
    ---------------------------
    stock FahrzeugTunen(vehicle)
    {
    if(vehicle==INVALID_VEHICLE_ID||vehicle==0)return 1;
    new vehicleid=vehicle;
    for(new j=1;j<MAX_AUTOS;j++)
    {
    if(PlayerAuto[j][id_x]==vehicle)
    {
    if(PlayerAuto[j][vmod0]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod0]);}
    if(PlayerAuto[j][vmod1]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod1]);}
    if(PlayerAuto[j][vmod2]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod2]);}
    if(PlayerAuto[j][vmod3]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod3]);}
    if(PlayerAuto[j][vmod4]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod4]);}
    if(PlayerAuto[j][vmod5]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod5]);}
    if(PlayerAuto[j][vmod6]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod6]);}
    if(PlayerAuto[j][vmod7]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod7]);}
    if(PlayerAuto[j][vmod8]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod8]);}
    if(PlayerAuto[j][vmod9]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod9]);}
    if(PlayerAuto[j][vmod10]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod10]);}
    if(PlayerAuto[j][vmod11]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod11]);}
    if(PlayerAuto[j][vmod12]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod12]);}
    if(PlayerAuto[j][vmod13]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod13]);}
    if(PlayerAuto[j][paintjob]!=-1){ChangeVehiclePaintjob(vehicle,PlayerAuto[j][paintjob]);}
    if(neon_1[vehicleid]==0&&PlayerAuto[j][neon]!=0&&neonan[vehicleid]==1)
    {
    new Float:xc,Float:yc,Float:zc;
    GetVehiclePos(vehicleid,xc,yc,zc);
    neon_1[vehicleid]=CreateDynamicObject(PlayerAuto[j][neon],xc,yc,zc,0,0,0);
    AttachDynamicObjectToVehicle(neon_1[vehicleid], vehicleid, -0.8, 0.0, -0.5, 0.0, 0.0, 0.0);
    }
    if(neon_2[vehicleid]==0&&PlayerAuto[j][neon]!=0&&neonan[vehicleid]==1)
    {
    new Float:xc,Float:yc,Float:zc;
    GetVehiclePos(vehicleid,xc,yc,zc);
    neon_2[vehicleid]=CreateDynamicObject(PlayerAuto[j][neon],xc,yc,zc,0,0,0);
    AttachDynamicObjectToVehicle(neon_2[vehicleid], vehicleid, 0.8, 0.0, -0.5, 0.0, 0.0, 0.0);
    }
    return 1;
    }
    if(FraktAuto[j][id_x]==vehicle)
    {
    if(FraktAuto[j][vmod0]){AddVehicleComponent(vehicle,FraktAuto[j][vmod0]);}
    if(FraktAuto[j][vmod1]){AddVehicleComponent(vehicle,FraktAuto[j][vmod1]);}
    if(FraktAuto[j][vmod2]){AddVehicleComponent(vehicle,FraktAuto[j][vmod2]);}
    if(FraktAuto[j][vmod3]){AddVehicleComponent(vehicle,FraktAuto[j][vmod3]);}
    if(FraktAuto[j][vmod4]){AddVehicleComponent(vehicle,FraktAuto[j][vmod4]);}
    if(FraktAuto[j][vmod5]){AddVehicleComponent(vehicle,FraktAuto[j][vmod5]);}
    if(FraktAuto[j][vmod6]){AddVehicleComponent(vehicle,FraktAuto[j][vmod6]);}
    if(FraktAuto[j][vmod7]){AddVehicleComponent(vehicle,FraktAuto[j][vmod7]);}
    if(FraktAuto[j][vmod8]){AddVehicleComponent(vehicle,FraktAuto[j][vmod8]);}
    if(FraktAuto[j][vmod9]){AddVehicleComponent(vehicle,FraktAuto[j][vmod9]);}
    if(FraktAuto[j][vmod10]){AddVehicleComponent(vehicle,FraktAuto[j][vmod10]);}
    if(FraktAuto[j][vmod11]){AddVehicleComponent(vehicle,FraktAuto[j][vmod11]);}
    if(FraktAuto[j][vmod12]){AddVehicleComponent(vehicle,FraktAuto[j][vmod12]);}
    if(FraktAuto[j][vmod13]){AddVehicleComponent(vehicle,FraktAuto[j][vmod13]);}
    if(FraktAuto[j][paintjob]!=-1){ChangeVehiclePaintjob(vehicle,FraktAuto[j][paintjob]);}
    if(neon_1[vehicleid]==0&&FraktAuto[j][neon]!=0&&neonan[vehicleid]==1)
    {
    new Float:xc,Float:yc,Float:zc;
    GetVehiclePos(vehicleid,xc,yc,zc);
    neon_1[vehicleid]=CreateDynamicObject(FraktAuto[j][neon],xc,yc,zc,0,0,0);
    AttachDynamicObjectToVehicle(neon_1[vehicleid], vehicleid, -0.8, 0.0, -0.5, 0.0, 0.0, 0.0);
    }
    if(neon_2[vehicleid]==0&&FraktAuto[j][neon]!=0&&neonan[vehicleid]==1)
    {
    new Float:xc,Float:yc,Float:zc;
    GetVehiclePos(vehicleid,xc,yc,zc);
    neon_2[vehicleid]=CreateDynamicObject(FraktAuto[j][neon],xc,yc,zc,0,0,0);
    AttachDynamicObjectToVehicle(neon_2[vehicleid], vehicleid, 0.8, 0.0, -0.5, 0.0, 0.0, 0.0);
    }
    return 1;
    }
    printf("Fehler beim Tunen aufgetreten. Fahrzeug nicht gefunden. ID: %i",j);
    return 1;
    }
    return 1;
    }


    ------------------------


    So und das wars, es ist sicherlich scheiße umständlich und kostet jede Menge Zeit sich dem anzunehmen, aber lasst euch ruhig Zeit,
    hoffentlich gibt es da eine hilfe.
    LG Dr.Brummer

    Ich suche (Beta) Server-Tester für meinen Server.
    Bei Intresse bitte bei mir per PN melden.

  • Wenn du im Spiel bist, gebe mal /dl ein. Dann merke dir die vehicle id die da steht und parke das Fahrzeug. Ist die ID danach eine andere?


    Wenn ja, dann liegt der Fehler am Tacho hier:
    distanz[FraktAuto[i][id_x]]


    Du greifst mit der vehicle id auf die Distanz zu, wenn sich diese aber ändert, hast du die Distanz eines anderen Fahrzeugs, welche dann eben 0 ist, falls noch niemand damit gefahren ist.
    Besser ist, wenn du mit dem Index des Fahrzeugs zugreifst, dann passiert dir das nicht.
    distanz[i]


    Das selbe Problem müsste bei Pizza und den ganzen Drogen im Fahrzeug auch da sein.



    Falls die ID gleich bleibt, müssen wir das ganze mal debuggen.

    • Offizieller Beitrag

    Schön dass mal einer so Ausführliche Debug-Infos beilegt, aber in 98% liegts nicht am MySQL Server sondern an den Scripten die darauf schreiben / davon lesen wollen


    der MySQL-Debuglog vom MySQL Plugin wäre da sicherlich intressanter (evtl auch die Werte mal in die Serverkonsole printen lassen)


    „Nicht das, was du nicht weißt, bringt dich in Schwierigkeiten, sondern dass, was du sicher zu wissen glaubst, obwohl es gar nicht wahr ist.“
    Mark Twain

    ---
    ICH BIN NUR HIER UM LEUTE ANZUSCHREIEN

  • Hallo Jeffry,
    Danke für deine schnelle Antwort, ich hoffe du hilfst mir auch weiterhin, also dann mal Back to Topic.
    Also, die FahrzeugID wird beim /fparken nicht geändert, das wurde bei mehreren Fahrzeugen getestet, das kanns nicht sein.
    Heißt das jetzt ich soll bei allem.


    distanz[i]


    Statt


    distanz[FraktAuto[i][id_x]]


    Also ich wollte ja schon gerne die Distanz vom Fraktionsauto haben, was soll ich denn da jetzt machen, soll ich dies einmal ändern ?
    Oder gleich schon anfangen zu debuggen ?
    LG Dr.Brummer

    Ich suche (Beta) Server-Tester für meinen Server.
    Bei Intresse bitte bei mir per PN melden.

  • Ja, ändere das trotzdem mal.


    Wenn es dann noch immer nicht funktioniert, dann müssen wir den Code debuggen und prüfen an welcher Stelle und vor allem warum der Wert der Variable auf 0 zurückgesetzt wird. Falls du weißt wie man debuggt kannst du das ja schon machen, aber wie gesagt, nur falls die Änderung nichts bringt.

  • Hallo Jeffry,
    Danke für deine Antwort, ich hab es etwas verändert. Ich habe das "i" eingetragen überall wie du es wolltest,
    jedoch wurden alle anderen Sachen auch früher gespeichert. Ich habe mir mal LSD gegeben es in den Kofferraum gelegt, 100 Stück an der
    Anzahl, dann habe ich es geparkt und es war immernoch drinne, jedoch wird die distanze immernoch nicht gespeichert. Es ist nach dem /fparken immer wieder auf 0, warum ist das so, es ist zum kotzen, ich werde es jetzt mal mit einer gelben SendClientMessage zu debuggen, ich habe dir noch ein zwei Fotos gemacht, die hänge ich hier mal an.
    LG an dich Jeffry

  • Also, du hast es jetzt alles zu i im Index geändert?
    Teste es mal so, was wird da geprintet?


    ocmd:fparken(playerid)
    {
    if(!DarfPlayerCommand(playerid))return ErrorMsg(playerid,"Du kannst keine Befehle nutzen.");
    if(SpielerInfo[playerid][Frakt]==0&&!isImporter(playerid))return ErrorMsg(playerid,"Du bist nicht in der jewaligen Fraktion.");
    if(SpielerInfo[playerid][leader]==0&&!isImporter(playerid))return ErrorMsg(playerid,"Du bist kein Leader.");
    if(GetPlayerVehicleSeat(playerid)!=0)return ErrorMsg(playerid,"Du bist nicht der Fahrer des Fahrzeuges.");
    for(new i=1;i<MAX_AUTOS;i++)
    {
    if(FraktAuto[i][id_x]!=GetPlayerVehicleID(playerid))continue;
    if(FraktAuto[i][besitzer]==SpielerInfo[playerid][Frakt]||FraktAuto[i][besitzer]==32&&SpielerInfo[playerid][Frakt]==4||isImporter(playerid)&&FraktAuto[i][besitzer]==31)
    {
    printf("Distanz(%d): %0.2f", i, distanz[i]);
    new Float:tmp = distanz[i];
    SendClientMessage(playerid,COLOR_GRUEN,"Du hast das Fahrzeug erfolgreich umgeparkt.");
    GetVehiclePos(FraktAuto[i][id_x],FraktAuto[i][v_xc],FraktAuto[i][v_yc],FraktAuto[i][v_zc]);
    GetVehicleZAngle(FraktAuto[i][id_x],FraktAuto[i][v_ac]);
    OneFCarSave(i);
    FCarSpawner(i);
    PutPlayerInVehicle(playerid,FraktAuto[i][id_x],0);
    distanz[i] = tmp;
    printf("Distanz(%d): %0.2f", i, distanz[i]);
    return 1;
    }
    }
    return 1;
    }

  • Hallo Jeffry,
    So ich habe das ganze mal geprintet und komischerweise ist dies hierbei rausgekommen.

    Die geprintete Serverlog:

    Code
    [20:01:32] Distanz(34): 0.00
    [20:01:32] - Fraktionsfahrzeug 34 gespeichert -
    [20:01:32] Fehler beim Tunen aufgetreten. Fahrzeug nicht gefunden. ID: 1
    [20:01:32] Fehler beim Tunen aufgetreten. Fahrzeug nicht gefunden. ID: 1
    [20:01:32] Distanz(34): 0.00


    Der Tuningcode nochmal:
    stock FahrzeugTunen(vehicle)
    {
    if(vehicle==INVALID_VEHICLE_ID||vehicle==0)return 1;
    new vehicleid=vehicle;
    for(new j=1;j<MAX_AUTOS;j++)
    {
    if(PlayerAuto[j][id_x]==vehicle)
    {
    if(PlayerAuto[j][vmod0]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod0]);}
    if(PlayerAuto[j][vmod1]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod1]);}
    if(PlayerAuto[j][vmod2]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod2]);}
    if(PlayerAuto[j][vmod3]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod3]);}
    if(PlayerAuto[j][vmod4]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod4]);}
    if(PlayerAuto[j][vmod5]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod5]);}
    if(PlayerAuto[j][vmod6]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod6]);}
    if(PlayerAuto[j][vmod7]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod7]);}
    if(PlayerAuto[j][vmod8]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod8]);}
    if(PlayerAuto[j][vmod9]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod9]);}
    if(PlayerAuto[j][vmod10]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod10]);}
    if(PlayerAuto[j][vmod11]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod11]);}
    if(PlayerAuto[j][vmod12]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod12]);}
    if(PlayerAuto[j][vmod13]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod13]);}
    if(PlayerAuto[j][paintjob]!=-1){ChangeVehiclePaintjob(vehicle,PlayerAuto[j][paintjob]);}
    if(neon_1[vehicleid]==0&&PlayerAuto[j][neon]!=0&&neonan[vehicleid]==1)
    {
    new Float:xc,Float:yc,Float:zc;
    GetVehiclePos(vehicleid,xc,yc,zc);
    neon_1[vehicleid]=CreateDynamicObject(PlayerAuto[j][neon],xc,yc,zc,0,0,0);
    AttachDynamicObjectToVehicle(neon_1[vehicleid], vehicleid, -0.8, 0.0, -0.5, 0.0, 0.0, 0.0);
    }
    if(neon_2[vehicleid]==0&&PlayerAuto[j][neon]!=0&&neonan[vehicleid]==1)
    {
    new Float:xc,Float:yc,Float:zc;
    GetVehiclePos(vehicleid,xc,yc,zc);
    neon_2[vehicleid]=CreateDynamicObject(PlayerAuto[j][neon],xc,yc,zc,0,0,0);
    AttachDynamicObjectToVehicle(neon_2[vehicleid], vehicleid, 0.8, 0.0, -0.5, 0.0, 0.0, 0.0);
    }
    return 1;
    }
    if(FraktAuto[j][id_x]==vehicle)
    {
    if(FraktAuto[j][vmod0]){AddVehicleComponent(vehicle,FraktAuto[j][vmod0]);}
    if(FraktAuto[j][vmod1]){AddVehicleComponent(vehicle,FraktAuto[j][vmod1]);}
    if(FraktAuto[j][vmod2]){AddVehicleComponent(vehicle,FraktAuto[j][vmod2]);}
    if(FraktAuto[j][vmod3]){AddVehicleComponent(vehicle,FraktAuto[j][vmod3]);}
    if(FraktAuto[j][vmod4]){AddVehicleComponent(vehicle,FraktAuto[j][vmod4]);}
    if(FraktAuto[j][vmod5]){AddVehicleComponent(vehicle,FraktAuto[j][vmod5]);}
    if(FraktAuto[j][vmod6]){AddVehicleComponent(vehicle,FraktAuto[j][vmod6]);}
    if(FraktAuto[j][vmod7]){AddVehicleComponent(vehicle,FraktAuto[j][vmod7]);}
    if(FraktAuto[j][vmod8]){AddVehicleComponent(vehicle,FraktAuto[j][vmod8]);}
    if(FraktAuto[j][vmod9]){AddVehicleComponent(vehicle,FraktAuto[j][vmod9]);}
    if(FraktAuto[j][vmod10]){AddVehicleComponent(vehicle,FraktAuto[j][vmod10]);}
    if(FraktAuto[j][vmod11]){AddVehicleComponent(vehicle,FraktAuto[j][vmod11]);}
    if(FraktAuto[j][vmod12]){AddVehicleComponent(vehicle,FraktAuto[j][vmod12]);}
    if(FraktAuto[j][vmod13]){AddVehicleComponent(vehicle,FraktAuto[j][vmod13]);}
    if(FraktAuto[j][paintjob]!=-1){ChangeVehiclePaintjob(vehicle,FraktAuto[j][paintjob]);}
    if(neon_1[vehicleid]==0&&FraktAuto[j][neon]!=0&&neonan[vehicleid]==1)
    {
    new Float:xc,Float:yc,Float:zc;
    GetVehiclePos(vehicleid,xc,yc,zc);
    neon_1[vehicleid]=CreateDynamicObject(FraktAuto[j][neon],xc,yc,zc,0,0,0);
    AttachDynamicObjectToVehicle(neon_1[vehicleid], vehicleid, -0.8, 0.0, -0.5, 0.0, 0.0, 0.0);
    }
    if(neon_2[vehicleid]==0&&FraktAuto[j][neon]!=0&&neonan[vehicleid]==1)
    {
    new Float:xc,Float:yc,Float:zc;
    GetVehiclePos(vehicleid,xc,yc,zc);
    neon_2[vehicleid]=CreateDynamicObject(FraktAuto[j][neon],xc,yc,zc,0,0,0);
    AttachDynamicObjectToVehicle(neon_2[vehicleid], vehicleid, 0.8, 0.0, -0.5, 0.0, 0.0, 0.0);
    }
    return 1;
    }
    printf("Fehler beim Tunen aufgetreten. Fahrzeug nicht gefunden. ID: %i",j);
    return 1;
    }
    return 1;
    }


    Warum wird da das Fahrzeug nicht gefunden ?
    LG Dr.Brummer

    Ich suche (Beta) Server-Tester für meinen Server.
    Bei Intresse bitte bei mir per PN melden.

  • Hallo Jeffry,
    Es geht hiermit nun einmal weiter, ich hoffe das Problem bald bewältigt zu haben, damit ich mit den normalen Pogrammablauf weitermachen kann.
    Also, ich habe einen riesigen Timer erstellt, der jede Sekunde geupdatet wird, in dem Timer befindet sich fast alles was der Spieler brauch, vielleicht sollte ich aber doch lieber einen Timer erstellen, der nur für das Tacho ist, naja ich habe wie gesagt in den riesentimer abgefragt ob er im Fahrzeug ist, dann wird das angezeigt, hier der dazugehörige Codex, viel Spaß damit :)


    Der Timer der jede Sekunde läuft:
    if(IsPlayerInAnyVehicle(playerid))
    {


    new Float:geschwindigkeit=ErmittleGeschwindigkeit(playerid,true);
    format(speed[playerid],20,"%.0f km/h",geschwindigkeit);
    PlayerTextDrawSetString(playerid,TT_0[playerid],speed[playerid]);
    format(string,sizeof(string),"%.1fkm",distanz[vID]);
    PlayerTextDrawSetString(playerid,TT_3[playerid],string);
    if(Handbremse[vID]==false)
    {
    GetVehiclePos(vID,vPOS[vID][0],vPOS[vID][1],vPOS[vID][2]);
    GetVehicleZAngle(vID,vPOS[vID][3]);
    }
    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER&&hatautoeinentank(vID)&&isEngineOn(vID)||tankt[playerid]!=-1)
    {
    PlayerTextDrawShow(playerid,TT_0[playerid]);
    PlayerTextDrawShow(playerid,TT_1[playerid]);
    PlayerTextDrawShow(playerid,TT_2[playerid]);
    PlayerTextDrawShow(playerid,TT_3[playerid]);
    ////new string[128];
    format(string,sizeof(string),"%s",GetVehicleName(GetVehicleModel(vID)));
    PlayerTextDrawSetString(playerid,TT_2[playerid],string);
    TextDrawShowForPlayer(playerid,Tankbox);
    TextDrawShowForPlayer(playerid,Tankbox2);
    new tankstring[128];
    format(tankstring,sizeof(tankstring),"%i%",tank[vID]);
    PlayerTextDrawSetString(playerid,TT_1[playerid],tankstring);
    PlayerTextDrawTextSize(playerid,TT_1[playerid], 3.0000000,tank[vID]*0.8);
    switch(tank[vID])
    {
    case 0..9:{PlayerTextDrawBoxColor(playerid,TT_1[playerid],COLOR_BRIGHTRED);}
    case 10..24:{PlayerTextDrawBoxColor(playerid,TT_1[playerid],COLOR_YELLOW);}
    case 25..49:{PlayerTextDrawBoxColor(playerid,TT_1[playerid],COLOR_ORANGE);}
    case 50..74:{PlayerTextDrawBoxColor(playerid,TT_1[playerid],COLOR_GREEN);}
    case 75..100:{PlayerTextDrawBoxColor(playerid,TT_1[playerid],LichtGruen);}
    }
    PlayerTextDrawHide(playerid,TT_1[playerid]);
    PlayerTextDrawShow(playerid,TT_1[playerid]);
    if(tank[vID]<=0&&playerweisdastankleerist[playerid]==0)
    {
    SendClientMessage(playerid,COLOR_WHITE,"Der Tank ist leer.");
    engineOff(vID);
    tank[vID]=0;
    playerweisdastankleerist[playerid]=1;
    }
    }
    else if(GetPVarInt(playerid,"fahrschulauto")==1&&hatautoeinentank(vID)&&isEngineOn(vID))
    {
    PlayerTextDrawShow(playerid,TT_0[playerid]);
    PlayerTextDrawShow(playerid,TT_1[playerid]);
    PlayerTextDrawShow(playerid,TT_2[playerid]);
    PlayerTextDrawShow(playerid,TT_3[playerid]);
    format(string,sizeof(string),"%s",GetVehicleName(GetVehicleModel(vID)));
    PlayerTextDrawSetString(playerid,TT_2[playerid],string);
    TextDrawShowForPlayer(playerid,Tankbox);
    TextDrawShowForPlayer(playerid,Tankbox2);
    }
    else
    {
    PlayerTextDrawHide(playerid,TT_0[playerid]);
    PlayerTextDrawHide(playerid,TT_1[playerid]);
    PlayerTextDrawHide(playerid,TT_2[playerid]);
    PlayerTextDrawHide(playerid,TT_3[playerid]);
    TextDrawHideForPlayer(playerid,Tankbox);
    TextDrawHideForPlayer(playerid,Tankbox2);
    }
    }


    Der Timer der jede Sekunde abläuft mit der km rechnung:
    if(IsPlayerInAnyVehicle(playerid))
    {
    vID=GetPlayerVehicleID(playerid);
    if(isEngineOn(vID))
    {
    distanzRechnungEx(playerid,vID);
    }
    }


    Der Stock der es in die Vari setzt:


    stock distanzRechnungEx(playerid,i)
    {
    if(distanztemp[i]==1)
    {
    new Float:xc,Float:yc,Float:zc;
    GetVehiclePos(i,xc,yc,zc);
    new Float:tempdistanz;
    tempdistanz=GetVehicleDistanceFromPoint(i,vPOS[i][0],vPOS[i][1],vPOS[i][2]);
    if(tempdistanz>150){tempdistanz=0;}
    distanz[i]+=tempdistanz/1000;
    vPOS[i][0]=xc;vPOS[i][1]=yc;vPOS[i][2]=zc;
    if(playerid!=INVALID_PLAYER_ID)
    {
    SpielerInfo[playerid][pdistance]+=tempdistanz/1000;
    }
    }
    if(distanztemp[i]==0)
    {
    GetVehiclePos(i,vPOS[i][0],vPOS[i][1],vPOS[i][2]);
    distanztemp[i]=1;
    }
    return 1;
    }


    Zum alten Fahrzeugtunen hier jetzt erneuert:
    stock FahrzeugTunen(vehicle)
    {
    if(vehicle==INVALID_VEHICLE_ID||vehicle==0)return 1;
    new vehicleid=vehicle;
    for(new j=1;j<MAX_AUTOS;j++)
    {
    if(PlayerAuto[j][id_x]==vehicle)
    {
    if(PlayerAuto[j][vmod0]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod0]);}
    if(PlayerAuto[j][vmod1]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod1]);}
    if(PlayerAuto[j][vmod2]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod2]);}
    if(PlayerAuto[j][vmod3]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod3]);}
    if(PlayerAuto[j][vmod4]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod4]);}
    if(PlayerAuto[j][vmod5]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod5]);}
    if(PlayerAuto[j][vmod6]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod6]);}
    if(PlayerAuto[j][vmod7]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod7]);}
    if(PlayerAuto[j][vmod8]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod8]);}
    if(PlayerAuto[j][vmod9]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod9]);}
    if(PlayerAuto[j][vmod10]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod10]);}
    if(PlayerAuto[j][vmod11]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod11]);}
    if(PlayerAuto[j][vmod12]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod12]);}
    if(PlayerAuto[j][vmod13]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod13]);}
    if(PlayerAuto[j][paintjob]!=-1){ChangeVehiclePaintjob(vehicle,PlayerAuto[j][paintjob]);}
    if(neon_1[vehicleid]==0&&PlayerAuto[j][neon]!=0&&neonan[vehicleid]==1)
    {
    new Float:xc,Float:yc,Float:zc;
    GetVehiclePos(vehicleid,xc,yc,zc);
    neon_1[vehicleid]=CreateDynamicObject(PlayerAuto[j][neon],xc,yc,zc,0,0,0);
    AttachDynamicObjectToVehicle(neon_1[vehicleid], vehicleid, -0.8, 0.0, -0.5, 0.0, 0.0, 0.0);
    }
    if(neon_2[vehicleid]==0&&PlayerAuto[j][neon]!=0&&neonan[vehicleid]==1)
    {
    new Float:xc,Float:yc,Float:zc;
    GetVehiclePos(vehicleid,xc,yc,zc);
    neon_2[vehicleid]=CreateDynamicObject(PlayerAuto[j][neon],xc,yc,zc,0,0,0);
    AttachDynamicObjectToVehicle(neon_2[vehicleid], vehicleid, 0.8, 0.0, -0.5, 0.0, 0.0, 0.0);
    }
    return 1;
    }
    if(FraktAuto[j][id_x]==vehicle)
    {
    if(FraktAuto[j][vmod0]){AddVehicleComponent(vehicle,FraktAuto[j][vmod0]);}
    if(FraktAuto[j][vmod1]){AddVehicleComponent(vehicle,FraktAuto[j][vmod1]);}
    if(FraktAuto[j][vmod2]){AddVehicleComponent(vehicle,FraktAuto[j][vmod2]);}
    if(FraktAuto[j][vmod3]){AddVehicleComponent(vehicle,FraktAuto[j][vmod3]);}
    if(FraktAuto[j][vmod4]){AddVehicleComponent(vehicle,FraktAuto[j][vmod4]);}
    if(FraktAuto[j][vmod5]){AddVehicleComponent(vehicle,FraktAuto[j][vmod5]);}
    if(FraktAuto[j][vmod6]){AddVehicleComponent(vehicle,FraktAuto[j][vmod6]);}
    if(FraktAuto[j][vmod7]){AddVehicleComponent(vehicle,FraktAuto[j][vmod7]);}
    if(FraktAuto[j][vmod8]){AddVehicleComponent(vehicle,FraktAuto[j][vmod8]);}
    if(FraktAuto[j][vmod9]){AddVehicleComponent(vehicle,FraktAuto[j][vmod9]);}
    if(FraktAuto[j][vmod10]){AddVehicleComponent(vehicle,FraktAuto[j][vmod10]);}
    if(FraktAuto[j][vmod11]){AddVehicleComponent(vehicle,FraktAuto[j][vmod11]);}
    if(FraktAuto[j][vmod12]){AddVehicleComponent(vehicle,FraktAuto[j][vmod12]);}
    if(FraktAuto[j][vmod13]){AddVehicleComponent(vehicle,FraktAuto[j][vmod13]);}
    if(FraktAuto[j][paintjob]!=-1){ChangeVehiclePaintjob(vehicle,FraktAuto[j][paintjob]);}
    if(neon_1[vehicleid]==0&&FraktAuto[j][neon]!=0&&neonan[vehicleid]==1)
    {
    new Float:xc,Float:yc,Float:zc;
    GetVehiclePos(vehicleid,xc,yc,zc);
    neon_1[vehicleid]=CreateDynamicObject(FraktAuto[j][neon],xc,yc,zc,0,0,0);
    AttachDynamicObjectToVehicle(neon_1[vehicleid], vehicleid, -0.8, 0.0, -0.5, 0.0, 0.0, 0.0);
    }
    if(neon_2[vehicleid]==0&&FraktAuto[j][neon]!=0&&neonan[vehicleid]==1)
    {
    new Float:xc,Float:yc,Float:zc;
    GetVehiclePos(vehicleid,xc,yc,zc);
    neon_2[vehicleid]=CreateDynamicObject(FraktAuto[j][neon],xc,yc,zc,0,0,0);
    AttachDynamicObjectToVehicle(neon_2[vehicleid], vehicleid, 0.8, 0.0, -0.5, 0.0, 0.0, 0.0);
    }
    return 1;
    }
    printf("Fehler beim Tunen aufgetreten. Fahrzeug nicht gefunden. ID: %i",j);
    }
    return 1;
    }


    Der Fparken befehl nochmals und verbessert:
    ocmd:fparken(playerid)
    {
    if(!DarfPlayerCommand(playerid))return ErrorMsg(playerid,"Du kannst keine Befehle nutzen.");
    if(SpielerInfo[playerid][Frakt]==0&&!isImporter(playerid))return ErrorMsg(playerid,"Du bist nicht in der jewaligen Fraktion.");
    if(SpielerInfo[playerid][leader]==0&&!isImporter(playerid))return ErrorMsg(playerid,"Du bist kein Leader.");
    if(GetPlayerVehicleSeat(playerid)!=0)return ErrorMsg(playerid,"Du bist nicht der Fahrer des Fahrzeuges.");
    for(new i=1;i<MAX_AUTOS;i++)
    {
    if(FraktAuto[i][id_x]!=GetPlayerVehicleID(playerid))continue;
    if(FraktAuto[i][besitzer]==SpielerInfo[playerid][Frakt]||FraktAuto[i][besitzer]==32&&SpielerInfo[playerid][Frakt]==4||isImporter(playerid)&&FraktAuto[i][besitzer]==31)
    {
    printf("Distanz(%d): %0.2f", i, distanz[i]);
    new Float:tmp = distanz[i];
    SendClientMessage(playerid,COLOR_GRUEN,"Du hast das Fahrzeug erfolgreich umgeparkt.");
    GetVehiclePos(FraktAuto[i][id_x],FraktAuto[i][v_xc],FraktAuto[i][v_yc],FraktAuto[i][v_zc]);
    GetVehicleZAngle(FraktAuto[i][id_x],FraktAuto[i][v_ac]);
    OneFCarSave(i);
    FCarSpawner(i);
    PutPlayerInVehicle(playerid,FraktAuto[i][id_x],0);
    distanz[i] = tmp;
    printf("Distanz(%d): %0.2f", i, distanz[i]);
    return 1;
    }
    }
    return 1;
    }


    Fragen noch zum Fparken:
    Muss bei OneFCarSave(i); und FCarSpawner(i); auch FraktAuto usw. eingetragen werden ?


    LG Dr.Brummer

    Ich suche (Beta) Server-Tester für meinen Server.
    Bei Intresse bitte bei mir per PN melden.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • @Dr.Brummer:
    Schreibe es jetzt erst mal so:
    ocmd:fparken(playerid)
    {
    if(!DarfPlayerCommand(playerid))return ErrorMsg(playerid,"Du kannst keine Befehle nutzen.");
    if(SpielerInfo[playerid][Frakt]==0&&!isImporter(playerid))return ErrorMsg(playerid,"Du bist nicht in der jewaligen Fraktion.");
    if(SpielerInfo[playerid][leader]==0&&!isImporter(playerid))return ErrorMsg(playerid,"Du bist kein Leader.");
    if(GetPlayerVehicleSeat(playerid)!=0)return ErrorMsg(playerid,"Du bist nicht der Fahrer des Fahrzeuges.");
    for(new i=1;i<MAX_AUTOS;i++)
    {
    if(FraktAuto[i][id_x]!=GetPlayerVehicleID(playerid))continue;
    if(FraktAuto[i][besitzer]==SpielerInfo[playerid][Frakt]||FraktAuto[i][besitzer]==32&&SpielerInfo[playerid][Frakt]==4||isImporter(playerid)&&FraktAuto[i][besitzer]==31)
    {
    printf("Distanz(%d): %0.2f", i, distanz[FraktAuto[i][id_x]]);
    new Float:tmp = distanz[FraktAuto[i][id_x]];
    SendClientMessage(playerid,COLOR_GRUEN,"Du hast das Fahrzeug erfolgreich umgeparkt.");
    GetVehiclePos(FraktAuto[i][id_x],FraktAuto[i][v_xc],FraktAuto[i][v_yc],FraktAuto[i][v_zc]);
    GetVehicleZAngle(FraktAuto[i][id_x],FraktAuto[i][v_ac]);
    OneFCarSave(i);
    FCarSpawner(i);
    PutPlayerInVehicle(playerid,FraktAuto[i][id_x],0);
    distanz[FraktAuto[i][id_x]] = tmp;
    printf("Distanz(%d): %0.2f", i, distanz[FraktAuto[i][id_x]]);
    return 1;
    }
    }
    return 1;
    }


    Wenn es dann noch immer nicht klappt, versuche, wie du die Frage gestellt hast, bei OneFCarSave und FCarSpawner das i zu FraktAuto[ i ][id_x] ändern.
    Wenn das auch nicht klappt, poste bitte die beiden Funktionen.


  • Hallo Jeffry, danke für deine Antwort, ich glaube jetzt aber das Problem gefunden zu haben, was mir das ganze bereitet hat, vielleicht kannst du mir der
    hinsicht auch nochmal helfen, es liegt an CreateVehicleEx. Die Distanze wird auf 0 gesetzt, wenn die Funktion aufgerufen wird, was ja auch verständlich ist, da, wenn ich ein Fraktionsauto erstelle die Distanz ja auf 0 gesetzt werden muss, allgemein beim erstellten Fahrzeug soll es auf 0 sein.
    Wie mache ich das denn jetzt ? Soll ich es nach dem erstellen nochmal auslesen lassen ?


    Hier der CreateVehicleEx stock:
    stock CreateVehicleEx(vehicletype,Float:x,Float:y,Float:z,Float:rotation,color1,color2,respawn_delay)
    {
    new vehicle=0;
    vehicle=CreateVehicle(vehicletype,x,y,z,rotation,color1,color2,respawn_delay);
    if(vehicle>1800 && vehicle<1900)printf("VehicleID: %i",vehicle);
    new tmp_string[128];
    if(vehicle==INVALID_VEHICLE_ID||vehicle==0)
    {
    format(tmp_string,sizeof(tmp_string),"Es wurde ein Vehicle mit einer ungültigen ID erstellt.");
    strLog("cvelog.txt",tmp_string);
    format(tmp_string,sizeof(tmp_string),"Ungültiges auto wurde erstellt. Parameter: %i, %f, %f, %f, %f, %i, %i, %i",vehicletype,x,y,z,rotation,color1,color2,respawn_delay);
    strLog("cvelog.txt",tmp_string);
    }
    while(vehicle==INVALID_VEHICLE_ID||vehicle==0)
    {
    vehicle=CreateVehicle(vehicletype,x,y,z,rotation,color1,color2,respawn_delay);
    format(tmp_string,sizeof(tmp_string),"Es wurde versucht in der Whileschleife so ein ungültiges Auto wieder richtig zu machen.");
    strLog("cvelog_loop.txt",tmp_string);
    }
    format(tmp_string,sizeof(tmp_string),"ROR-%i",vehicle);
    SetVehicleNumberPlate(vehicle,tmp_string);
    new engine,lights,alarm,doors,bonnet,boot,objective;
    GetVehicleParamsEx(vehicle,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(vehicle,0,lights,alarm,doors,bonnet,boot,objective);
    distanz[vehicle]=0;
    distanztemp[vehicle]=0;
    vPOS[vehicle][0]=x;
    vPOS[vehicle][1]=y;
    vPOS[vehicle][2]=z;
    neonReset(vehicle);
    return vehicle;
    }


    Die genannten Sachen sollten rot mariert sein :)

    Ich suche (Beta) Server-Tester für meinen Server.
    Bei Intresse bitte bei mir per PN melden.

  • Ja, da macht das Ganze natürlich SInn.


    Du speicherst vor CreateVehicleEx den Wert den die Distanz hat (so wie ich es in dem Befehl gemacht habe) und danach setzt du es wieder. Wobei es ja eigentlich auch klappen sollte, wenn du es in dem Befehl lässt, weil der ja alles beinhaltet.



    Grundsätzlich muss ich aber dazusagen, dass es keine gute Idee ist, auf die Indizes mit der vehicle id zuzugreifen, da sich diese ändern kann. Es ist besser, wenn du mit dem "i" zugreifst, aber überall. Das ist zwar etwas ressourcenlastiger an manchen Stellen, aber dafür fehlerfrei. Dafür müsstest du eben dein ganzes System umschreiben.


  • Hallo Jeffry, danke für deine hilfe, bei meinen FParkensystem,
    ich benötige jedoch nur noch einmal deine hilfe, dann können wir das Thema endlich abhaken.
    Das jetzige Problem besteht mein Tuning, der Fahrzeuge nach dem respawn. Die Serverlog ist zugespammt mit.
    "Fehler beim Tunen aufgetreten. Fahrzeug nicht gefunden. ID: Fahrzeugid" wodran kann das jetzt noch liegen, ob sie getunt werden weiß ich jedoch nicht, aber jetzt ist alles in bester Ordnung mit den Parken und speichern, nur das Tuning, bitte um letzte hilfe.
    Dr.Brummer dankt dir im Vorraus.


    Der Fahrzeugstock wo die Fahrzeuge getunt werden:
    stock FahrzeugTunen(vehicle)
    {
    if(vehicle==INVALID_VEHICLE_ID||vehicle==0)return 1;
    new vehicleid=vehicle;
    for(new j=1;j<MAX_AUTOS;j++)
    {
    if(PlayerAuto[j][id_x]==vehicle)
    {
    if(PlayerAuto[j][vmod0]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod0]);}
    if(PlayerAuto[j][vmod1]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod1]);}
    if(PlayerAuto[j][vmod2]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod2]);}
    if(PlayerAuto[j][vmod3]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod3]);}
    if(PlayerAuto[j][vmod4]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod4]);}
    if(PlayerAuto[j][vmod5]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod5]);}
    if(PlayerAuto[j][vmod6]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod6]);}
    if(PlayerAuto[j][vmod7]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod7]);}
    if(PlayerAuto[j][vmod8]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod8]);}
    if(PlayerAuto[j][vmod9]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod9]);}
    if(PlayerAuto[j][vmod10]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod10]);}
    if(PlayerAuto[j][vmod11]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod11]);}
    if(PlayerAuto[j][vmod12]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod12]);}
    if(PlayerAuto[j][vmod13]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod13]);}
    if(PlayerAuto[j][paintjob]!=-1){ChangeVehiclePaintjob(vehicle,PlayerAuto[j][paintjob]);}
    if(neon_1[vehicleid]==0&&PlayerAuto[j][neon]!=0&&neonan[vehicleid]==1)
    {
    new Float:xc,Float:yc,Float:zc;
    GetVehiclePos(vehicleid,xc,yc,zc);
    neon_1[vehicleid]=CreateDynamicObject(PlayerAuto[j][neon],xc,yc,zc,0,0,0);
    AttachDynamicObjectToVehicle(neon_1[vehicleid], vehicleid, -0.8, 0.0, -0.5, 0.0, 0.0, 0.0);
    }
    if(neon_2[vehicleid]==0&&PlayerAuto[j][neon]!=0&&neonan[vehicleid]==1)
    {
    new Float:xc,Float:yc,Float:zc;
    GetVehiclePos(vehicleid,xc,yc,zc);
    neon_2[vehicleid]=CreateDynamicObject(PlayerAuto[j][neon],xc,yc,zc,0,0,0);
    AttachDynamicObjectToVehicle(neon_2[vehicleid], vehicleid, 0.8, 0.0, -0.5, 0.0, 0.0, 0.0);
    }
    return 1;
    }
    if(FraktAuto[j][id_x]==vehicle)
    {
    if(FraktAuto[j][vmod0]){AddVehicleComponent(vehicle,FraktAuto[j][vmod0]);}
    if(FraktAuto[j][vmod1]){AddVehicleComponent(vehicle,FraktAuto[j][vmod1]);}
    if(FraktAuto[j][vmod2]){AddVehicleComponent(vehicle,FraktAuto[j][vmod2]);}
    if(FraktAuto[j][vmod3]){AddVehicleComponent(vehicle,FraktAuto[j][vmod3]);}
    if(FraktAuto[j][vmod4]){AddVehicleComponent(vehicle,FraktAuto[j][vmod4]);}
    if(FraktAuto[j][vmod5]){AddVehicleComponent(vehicle,FraktAuto[j][vmod5]);}
    if(FraktAuto[j][vmod6]){AddVehicleComponent(vehicle,FraktAuto[j][vmod6]);}
    if(FraktAuto[j][vmod7]){AddVehicleComponent(vehicle,FraktAuto[j][vmod7]);}
    if(FraktAuto[j][vmod8]){AddVehicleComponent(vehicle,FraktAuto[j][vmod8]);}
    if(FraktAuto[j][vmod9]){AddVehicleComponent(vehicle,FraktAuto[j][vmod9]);}
    if(FraktAuto[j][vmod10]){AddVehicleComponent(vehicle,FraktAuto[j][vmod10]);}
    if(FraktAuto[j][vmod11]){AddVehicleComponent(vehicle,FraktAuto[j][vmod11]);}
    if(FraktAuto[j][vmod12]){AddVehicleComponent(vehicle,FraktAuto[j][vmod12]);}
    if(FraktAuto[j][vmod13]){AddVehicleComponent(vehicle,FraktAuto[j][vmod13]);}
    if(FraktAuto[j][paintjob]!=-1){ChangeVehiclePaintjob(vehicle,FraktAuto[j][paintjob]);}
    if(neon_1[vehicleid]==0&&FraktAuto[j][neon]!=0&&neonan[vehicleid]==1)
    {
    new Float:xc,Float:yc,Float:zc;
    GetVehiclePos(vehicleid,xc,yc,zc);
    neon_1[vehicleid]=CreateDynamicObject(FraktAuto[j][neon],xc,yc,zc,0,0,0);
    AttachDynamicObjectToVehicle(neon_1[vehicleid], vehicleid, -0.8, 0.0, -0.5, 0.0, 0.0, 0.0);
    }
    if(neon_2[vehicleid]==0&&FraktAuto[j][neon]!=0&&neonan[vehicleid]==1)
    {
    new Float:xc,Float:yc,Float:zc;
    GetVehiclePos(vehicleid,xc,yc,zc);
    neon_2[vehicleid]=CreateDynamicObject(FraktAuto[j][neon],xc,yc,zc,0,0,0);
    AttachDynamicObjectToVehicle(neon_2[vehicleid], vehicleid, 0.8, 0.0, -0.5, 0.0, 0.0, 0.0);
    }
    return 1;
    }
    printf("Fehler beim Tunen aufgetreten. Fahrzeug nicht gefunden. ID: %i",j);
    }
    return 1;
    }


    -----------------


    Der stock ist knapp über OnGameModeExit, da ich nicht wusste, oder nicht weiß, ob er wenn er ganz unten ist noch ordnungsgemäß funktioniert.
    LG Dr.Brummer

    Ich suche (Beta) Server-Tester für meinen Server.
    Bei Intresse bitte bei mir per PN melden.

  • Klappt das mit der Distanz jetzt?


    Der print muss aus der Schleife raus:

    Spoiler anzeigen
    stock FahrzeugTunen(vehicle)
    {
    if(vehicle==INVALID_VEHICLE_ID||vehicle==0)return 1;
    new vehicleid=vehicle;
    for(new j=1;j<MAX_AUTOS;j++)
    {
    if(PlayerAuto[j][id_x]==vehicle)
    {
    if(PlayerAuto[j][vmod0]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod0]);}
    if(PlayerAuto[j][vmod1]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod1]);}
    if(PlayerAuto[j][vmod2]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod2]);}
    if(PlayerAuto[j][vmod3]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod3]);}
    if(PlayerAuto[j][vmod4]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod4]);}
    if(PlayerAuto[j][vmod5]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod5]);}
    if(PlayerAuto[j][vmod6]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod6]);}
    if(PlayerAuto[j][vmod7]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod7]);}
    if(PlayerAuto[j][vmod8]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod8]);}
    if(PlayerAuto[j][vmod9]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod9]);}
    if(PlayerAuto[j][vmod10]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod10]);}
    if(PlayerAuto[j][vmod11]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod11]);}
    if(PlayerAuto[j][vmod12]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod12]);}
    if(PlayerAuto[j][vmod13]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod13]);}
    if(PlayerAuto[j][paintjob]!=-1){ChangeVehiclePaintjob(vehicle,PlayerAuto[j][paintjob]);}
    if(neon_1[vehicleid]==0&&PlayerAuto[j][neon]!=0&&neonan[vehicleid]==1)
    {
    new Float:xc,Float:yc,Float:zc;
    GetVehiclePos(vehicleid,xc,yc,zc);
    neon_1[vehicleid]=CreateDynamicObject(PlayerAuto[j][neon],xc,yc,zc,0,0,0);
    AttachDynamicObjectToVehicle(neon_1[vehicleid], vehicleid, -0.8, 0.0, -0.5, 0.0, 0.0, 0.0);
    }
    if(neon_2[vehicleid]==0&&PlayerAuto[j][neon]!=0&&neonan[vehicleid]==1)
    {
    new Float:xc,Float:yc,Float:zc;
    GetVehiclePos(vehicleid,xc,yc,zc);
    neon_2[vehicleid]=CreateDynamicObject(PlayerAuto[j][neon],xc,yc,zc,0,0,0);
    AttachDynamicObjectToVehicle(neon_2[vehicleid], vehicleid, 0.8, 0.0, -0.5, 0.0, 0.0, 0.0);
    }
    return 1;
    }
    if(FraktAuto[j][id_x]==vehicle)
    {
    if(FraktAuto[j][vmod0]){AddVehicleComponent(vehicle,FraktAuto[j][vmod0]);}
    if(FraktAuto[j][vmod1]){AddVehicleComponent(vehicle,FraktAuto[j][vmod1]);}
    if(FraktAuto[j][vmod2]){AddVehicleComponent(vehicle,FraktAuto[j][vmod2]);}
    if(FraktAuto[j][vmod3]){AddVehicleComponent(vehicle,FraktAuto[j][vmod3]);}
    if(FraktAuto[j][vmod4]){AddVehicleComponent(vehicle,FraktAuto[j][vmod4]);}
    if(FraktAuto[j][vmod5]){AddVehicleComponent(vehicle,FraktAuto[j][vmod5]);}
    if(FraktAuto[j][vmod6]){AddVehicleComponent(vehicle,FraktAuto[j][vmod6]);}
    if(FraktAuto[j][vmod7]){AddVehicleComponent(vehicle,FraktAuto[j][vmod7]);}
    if(FraktAuto[j][vmod8]){AddVehicleComponent(vehicle,FraktAuto[j][vmod8]);}
    if(FraktAuto[j][vmod9]){AddVehicleComponent(vehicle,FraktAuto[j][vmod9]);}
    if(FraktAuto[j][vmod10]){AddVehicleComponent(vehicle,FraktAuto[j][vmod10]);}
    if(FraktAuto[j][vmod11]){AddVehicleComponent(vehicle,FraktAuto[j][vmod11]);}
    if(FraktAuto[j][vmod12]){AddVehicleComponent(vehicle,FraktAuto[j][vmod12]);}
    if(FraktAuto[j][vmod13]){AddVehicleComponent(vehicle,FraktAuto[j][vmod13]);}
    if(FraktAuto[j][paintjob]!=-1){ChangeVehiclePaintjob(vehicle,FraktAuto[j][paintjob]);}
    if(neon_1[vehicleid]==0&&FraktAuto[j][neon]!=0&&neonan[vehicleid]==1)
    {
    new Float:xc,Float:yc,Float:zc;
    GetVehiclePos(vehicleid,xc,yc,zc);
    neon_1[vehicleid]=CreateDynamicObject(FraktAuto[j][neon],xc,yc,zc,0,0,0);
    AttachDynamicObjectToVehicle(neon_1[vehicleid], vehicleid, -0.8, 0.0, -0.5, 0.0, 0.0, 0.0);
    }
    if(neon_2[vehicleid]==0&&FraktAuto[j][neon]!=0&&neonan[vehicleid]==1)
    {
    new Float:xc,Float:yc,Float:zc;
    GetVehiclePos(vehicleid,xc,yc,zc);
    neon_2[vehicleid]=CreateDynamicObject(FraktAuto[j][neon],xc,yc,zc,0,0,0);
    AttachDynamicObjectToVehicle(neon_2[vehicleid], vehicleid, 0.8, 0.0, -0.5, 0.0, 0.0, 0.0);
    }
    return 1;
    }
    }
    printf("Fehler beim Tunen aufgetreten. Fahrzeug nicht gefunden. ID: %i",j);
    return 1;
    }

  • Hallo Jeffry, ja, dass mit der Distanze klappt jetzt endlich,
    jetzt steht nurnoch das neue Problem offen, die Fahrzeuge werden ja nicht getunt, zeigt der print doch an, soweit ich weiß wird der
    stock auch nur aufgerufen, wenn FCars/Privatfahrzeuge getunt werden :)
    LG Dr.Brummer

    Ich suche (Beta) Server-Tester für meinen Server.
    Bei Intresse bitte bei mir per PN melden.

  • Sorry, bin gestern Abend nicht mehr dazu gekommen mir das nochmal genau anzuschauen. Jetzt ist es so, dass hier so viel unterschiedlicher Code steht, da fehlt jeder Zusammenhang, vor allem weil du ja auch einiges geändert hast.


    Kannst du bitte den Code der zu dem Tuning gehört, und das was dafür relevant ist, nochmals posten, so wie es jetzt ist, und den Log dazu, falls du einen hast?
    Dann schau ich mir das heute Abend nochmal genau an.

  • Hallo Jeffry, ja kein Problem, macht gar nichts, so, dann schauen wir uns nochmal den Code an zum Tuning und ein Teil der Serverlog, es gibt noch ein paar
    MySQL-Errors in der Serverlog, wo ich nicht weiß wo die herkommen, jedoch sollte das nicht das große Problem sein, das ist ein anderes Thema.
    Also, hier gehts los, an den Fparken-Befehl wurde nichts mehr gemacht.


    Hier der Tuning-Stock:
    stock FahrzeugTunen(vehicle)
    {
    if(vehicle==INVALID_VEHICLE_ID||vehicle==0)return 1;
    new vehicleid=vehicle;
    for(new j=1;j<MAX_AUTOS;j++)
    {
    if(PlayerAuto[j][id_x]==vehicle)
    {
    if(PlayerAuto[j][vmod0]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod0]);}
    if(PlayerAuto[j][vmod1]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod1]);}
    if(PlayerAuto[j][vmod2]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod2]);}
    if(PlayerAuto[j][vmod3]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod3]);}
    if(PlayerAuto[j][vmod4]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod4]);}
    if(PlayerAuto[j][vmod5]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod5]);}
    if(PlayerAuto[j][vmod6]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod6]);}
    if(PlayerAuto[j][vmod7]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod7]);}
    if(PlayerAuto[j][vmod8]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod8]);}
    if(PlayerAuto[j][vmod9]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod9]);}
    if(PlayerAuto[j][vmod10]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod10]);}
    if(PlayerAuto[j][vmod11]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod11]);}
    if(PlayerAuto[j][vmod12]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod12]);}
    if(PlayerAuto[j][vmod13]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod13]);}
    if(PlayerAuto[j][paintjob]!=-1){ChangeVehiclePaintjob(vehicle,PlayerAuto[j][paintjob]);}
    if(neon_1[vehicleid]==0&&PlayerAuto[j][neon]!=0&&neonan[vehicleid]==1)
    {
    new Float:xc,Float:yc,Float:zc;
    GetVehiclePos(vehicleid,xc,yc,zc);
    neon_1[vehicleid]=CreateDynamicObject(PlayerAuto[j][neon],xc,yc,zc,0,0,0);
    AttachDynamicObjectToVehicle(neon_1[vehicleid], vehicleid, -0.8, 0.0, -0.5, 0.0, 0.0, 0.0);
    }
    if(neon_2[vehicleid]==0&&PlayerAuto[j][neon]!=0&&neonan[vehicleid]==1)
    {
    new Float:xc,Float:yc,Float:zc;
    GetVehiclePos(vehicleid,xc,yc,zc);
    neon_2[vehicleid]=CreateDynamicObject(PlayerAuto[j][neon],xc,yc,zc,0,0,0);
    AttachDynamicObjectToVehicle(neon_2[vehicleid], vehicleid, 0.8, 0.0, -0.5, 0.0, 0.0, 0.0);
    }
    return 1;
    }
    if(FraktAuto[j][id_x]==vehicle)
    {
    if(FraktAuto[j][vmod0]){AddVehicleComponent(vehicle,FraktAuto[j][vmod0]);}
    if(FraktAuto[j][vmod1]){AddVehicleComponent(vehicle,FraktAuto[j][vmod1]);}
    if(FraktAuto[j][vmod2]){AddVehicleComponent(vehicle,FraktAuto[j][vmod2]);}
    if(FraktAuto[j][vmod3]){AddVehicleComponent(vehicle,FraktAuto[j][vmod3]);}
    if(FraktAuto[j][vmod4]){AddVehicleComponent(vehicle,FraktAuto[j][vmod4]);}
    if(FraktAuto[j][vmod5]){AddVehicleComponent(vehicle,FraktAuto[j][vmod5]);}
    if(FraktAuto[j][vmod6]){AddVehicleComponent(vehicle,FraktAuto[j][vmod6]);}
    if(FraktAuto[j][vmod7]){AddVehicleComponent(vehicle,FraktAuto[j][vmod7]);}
    if(FraktAuto[j][vmod8]){AddVehicleComponent(vehicle,FraktAuto[j][vmod8]);}
    if(FraktAuto[j][vmod9]){AddVehicleComponent(vehicle,FraktAuto[j][vmod9]);}
    if(FraktAuto[j][vmod10]){AddVehicleComponent(vehicle,FraktAuto[j][vmod10]);}
    if(FraktAuto[j][vmod11]){AddVehicleComponent(vehicle,FraktAuto[j][vmod11]);}
    if(FraktAuto[j][vmod12]){AddVehicleComponent(vehicle,FraktAuto[j][vmod12]);}
    if(FraktAuto[j][vmod13]){AddVehicleComponent(vehicle,FraktAuto[j][vmod13]);}
    if(FraktAuto[j][paintjob]!=-1){ChangeVehiclePaintjob(vehicle,FraktAuto[j][paintjob]);}
    if(neon_1[vehicleid]==0&&FraktAuto[j][neon]!=0&&neonan[vehicleid]==1)
    {
    new Float:xc,Float:yc,Float:zc;
    GetVehiclePos(vehicleid,xc,yc,zc);
    neon_1[vehicleid]=CreateDynamicObject(FraktAuto[j][neon],xc,yc,zc,0,0,0);
    AttachDynamicObjectToVehicle(neon_1[vehicleid], vehicleid, -0.8, 0.0, -0.5, 0.0, 0.0, 0.0);
    }
    if(neon_2[vehicleid]==0&&FraktAuto[j][neon]!=0&&neonan[vehicleid]==1)
    {
    new Float:xc,Float:yc,Float:zc;
    GetVehiclePos(vehicleid,xc,yc,zc);
    neon_2[vehicleid]=CreateDynamicObject(FraktAuto[j][neon],xc,yc,zc,0,0,0);
    AttachDynamicObjectToVehicle(neon_2[vehicleid], vehicleid, 0.8, 0.0, -0.5, 0.0, 0.0, 0.0);
    }
    return 1;
    }
    }
    return 1;
    }


    Irgendwas ist da an den Klammern schiefgelaufen, aber im Script sieht das alles normal aus.


    Die Serverlog zum Server:
    [hide]Steht kein Fehler mehr drinne, da print draußen ist.[/hide]


    LG Dr.Brummer

    Ich suche (Beta) Server-Tester für meinen Server.
    Bei Intresse bitte bei mir per PN melden.

  • Debugge es erst mal, was wird geprintet?
    stock FahrzeugTunen(vehicle)
    {
    printf("FahrzeugTunen(%d)", vehicle);
    if(vehicle==INVALID_VEHICLE_ID||vehicle==0)return 1;
    new vehicleid=vehicle;
    for(new j=1;j<MAX_AUTOS;j++)
    {
    printf("%d == %d -> j = %d", PlayerAuto[j][id_x], vehicle, j);
    if(PlayerAuto[j][id_x]==vehicle)
    {
    printf("j ist PlayerAuto");
    if(PlayerAuto[j][vmod0]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod0]);}
    if(PlayerAuto[j][vmod1]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod1]);}
    if(PlayerAuto[j][vmod2]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod2]);}
    if(PlayerAuto[j][vmod3]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod3]);}
    if(PlayerAuto[j][vmod4]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod4]);}
    if(PlayerAuto[j][vmod5]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod5]);}
    if(PlayerAuto[j][vmod6]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod6]);}
    if(PlayerAuto[j][vmod7]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod7]);}
    if(PlayerAuto[j][vmod8]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod8]);}
    if(PlayerAuto[j][vmod9]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod9]);}
    if(PlayerAuto[j][vmod10]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod10]);}
    if(PlayerAuto[j][vmod11]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod11]);}
    if(PlayerAuto[j][vmod12]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod12]);}
    if(PlayerAuto[j][vmod13]){AddVehicleComponent(vehicle,PlayerAuto[j][vmod13]);}
    if(PlayerAuto[j][paintjob]!=-1){ChangeVehiclePaintjob(vehicle,PlayerAuto[j][paintjob]);}
    if(neon_1[vehicleid]==0&&PlayerAuto[j][neon]!=0&&neonan[vehicleid]==1)
    {
    new Float:xc,Float:yc,Float:zc;
    GetVehiclePos(vehicleid,xc,yc,zc);
    neon_1[vehicleid]=CreateDynamicObject(PlayerAuto[j][neon],xc,yc,zc,0,0,0);
    AttachDynamicObjectToVehicle(neon_1[vehicleid], vehicleid, -0.8, 0.0, -0.5, 0.0, 0.0, 0.0);
    }
    if(neon_2[vehicleid]==0&&PlayerAuto[j][neon]!=0&&neonan[vehicleid]==1)
    {
    new Float:xc,Float:yc,Float:zc;
    GetVehiclePos(vehicleid,xc,yc,zc);
    neon_2[vehicleid]=CreateDynamicObject(PlayerAuto[j][neon],xc,yc,zc,0,0,0);
    AttachDynamicObjectToVehicle(neon_2[vehicleid], vehicleid, 0.8, 0.0, -0.5, 0.0, 0.0, 0.0);
    }
    printf("Tunen beendet");
    return 1;
    }
    if(FraktAuto[j][id_x]==vehicle)
    {
    printf("j ist FraktAuto");
    if(FraktAuto[j][vmod0]){AddVehicleComponent(vehicle,FraktAuto[j][vmod0]);}
    if(FraktAuto[j][vmod1]){AddVehicleComponent(vehicle,FraktAuto[j][vmod1]);}
    if(FraktAuto[j][vmod2]){AddVehicleComponent(vehicle,FraktAuto[j][vmod2]);}
    if(FraktAuto[j][vmod3]){AddVehicleComponent(vehicle,FraktAuto[j][vmod3]);}
    if(FraktAuto[j][vmod4]){AddVehicleComponent(vehicle,FraktAuto[j][vmod4]);}
    if(FraktAuto[j][vmod5]){AddVehicleComponent(vehicle,FraktAuto[j][vmod5]);}
    if(FraktAuto[j][vmod6]){AddVehicleComponent(vehicle,FraktAuto[j][vmod6]);}
    if(FraktAuto[j][vmod7]){AddVehicleComponent(vehicle,FraktAuto[j][vmod7]);}
    if(FraktAuto[j][vmod8]){AddVehicleComponent(vehicle,FraktAuto[j][vmod8]);}
    if(FraktAuto[j][vmod9]){AddVehicleComponent(vehicle,FraktAuto[j][vmod9]);}
    if(FraktAuto[j][vmod10]){AddVehicleComponent(vehicle,FraktAuto[j][vmod10]);}
    if(FraktAuto[j][vmod11]){AddVehicleComponent(vehicle,FraktAuto[j][vmod11]);}
    if(FraktAuto[j][vmod12]){AddVehicleComponent(vehicle,FraktAuto[j][vmod12]);}
    if(FraktAuto[j][vmod13]){AddVehicleComponent(vehicle,FraktAuto[j][vmod13]);}
    if(FraktAuto[j][paintjob]!=-1){ChangeVehiclePaintjob(vehicle,FraktAuto[j][paintjob]);}
    if(neon_1[vehicleid]==0&&FraktAuto[j][neon]!=0&&neonan[vehicleid]==1)
    {
    new Float:xc,Float:yc,Float:zc;
    GetVehiclePos(vehicleid,xc,yc,zc);
    neon_1[vehicleid]=CreateDynamicObject(FraktAuto[j][neon],xc,yc,zc,0,0,0);
    AttachDynamicObjectToVehicle(neon_1[vehicleid], vehicleid, -0.8, 0.0, -0.5, 0.0, 0.0, 0.0);
    }
    if(neon_2[vehicleid]==0&&FraktAuto[j][neon]!=0&&neonan[vehicleid]==1)
    {
    new Float:xc,Float:yc,Float:zc;
    GetVehiclePos(vehicleid,xc,yc,zc);
    neon_2[vehicleid]=CreateDynamicObject(FraktAuto[j][neon],xc,yc,zc,0,0,0);
    AttachDynamicObjectToVehicle(neon_2[vehicleid], vehicleid, 0.8, 0.0, -0.5, 0.0, 0.0, 0.0);
    }
    printf("Tunen beendet");
    return 1;
    }
    }
    return 1;
    }