VehicleID=0 Bug

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
  • Hi ich habe das Problem, das ich mit GetPlayerVehicleID immer nur die 0 rausbekommen (obwohl es ja net mal die 0 als CarID gibt).
    Nunja, das Problem zeigte sich jetzt bei einem, createcar cmd.
    dcmd_createcar(playerid,params[])
    {
    new id=strval(params);
    if(!strlen(params) || !IsNumeric(params))
    {
    return SendClientMessage(playerid,COLOR_RED,"/createcar [carID]");
    }
    else
    {
    new Float:x, Float:y, Float:z, Float:a;
    GetPlayerFacingAngle(playerid,a);
    GetPlayerPos(playerid, x, y, z);
    new Car = CreateVehicle(id, x, y+5, z+3,a+90,3,79,0);
    //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    new carID = GetPlayerVehicleID(Car);
    [...]
    format(carFile,sizeof(carFile),"%d.ini",carID);
    if(!dini_Exists(carFile))
    {
    dini_Create(carFile);
    dini_IntSet((carFile),"CarID", carID);
    [...]
    }
    }
    return 1;
    }


    Also eig funzt alles andere wunderbar was in dem [...] steht (das sind Cords saver und ModelID) nur die blöde CarID wird einfach nicht gespeichert, er bekommt da immer nur die 0. Also ini = 0.ini und im IntSet = CarID=0.
    Ich finde da einfach kein Fehler, deswegen frag ich hier mal nach :rolleyes: .


    Ich hoffe ihr könnt mir helfen und danke schonmal im Vorraus.


    Martin08 :thumbup:

    Wenn ich dir geholfen haben sollte, würde ich mich extremst freuen, wenn du dir kurz Zeit nehmen würdest und mir helfen könntest:


    Unterstütze mich bitte hier und vote für mich:


    Ihr müsst nur oben links auf Vote klicken und bestätigen! Vielen Dank dafür

  • Zitat

    new carID = GetPlayerVehicleID(Car);

    Das ist der Fehler!


    Du erstellst ein neues Auto, also sitzt der Player nicht im Auto, somit gibt GetPlayerVehicleID natürlich die 0 zurück. ( 0 = false)


    Versuch mal das hier: (CreateCar gibt nämlich die Vehicleid zurück ;) )


    dcmd_createcar(playerid,params[])
    {
    new id=strval(params);
    if(!strlen(params) || !IsNumeric(params))
    {
    return SendClientMessage(playerid,COLOR_RED,"/createcar [carID]");
    }
    else
    {
    new Float:x, Float:y, Float:z, Float:a;
    GetPlayerFacingAngle(playerid,a);
    GetPlayerPos(playerid, x, y, z);
    new Car = CreateVehicle(id, x, y+5, z+3,a+90,3,79,0);
    //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    [...]
    format(carFile,sizeof(carFile),"%d.ini",car);
    if(!dini_Exists(carFile))
    {
    dini_Create(carFile);
    dini_IntSet((carFile),"CarID", car);
    [...]
    }
    }
    return 1;
    }

  • ICH LIEBE DICH!!!


    danke hat gefunzt so.. endlich.


    BTW: bist du der Chaser von SAS/LSA? der Newsler? xD

    Wenn ich dir geholfen haben sollte, würde ich mich extremst freuen, wenn du dir kurz Zeit nehmen würdest und mir helfen könntest:


    Unterstütze mich bitte hier und vote für mich:


    Ihr müsst nur oben links auf Vote klicken und bestätigen! Vielen Dank dafür

  • Nee xD, oder wobei mal sehen.


    Bin noch eher der anfänger in der Sache, mache das nur zum Spaß über Hamachi mit paar kumpels. Und wenn ich das ohne den direkten Saver gemacht hätte, würde es leicht nen blöden Bug geben, der ez aber behoben ist :D.
    Danke und viel spaß noch auf USSA xD


    damit erledigt


    EDIT:


    Das Problem hat sich doch nicht so gelöst wie ich das dachte:
    Also mal angenommen, ich spawn mir 3 cars und save sie.
    Car 1: carID = 1 -> 1.ini
    Car 2: carID = 2 -> 2.ini
    Car 3: carID = 3 -> 3.ini


    ich lösche Car 2.


    So sieht dann mein Scriptfiles ordner aus:
    1.ini
    3.ini
    Im spiel:
    CarID = 1
    carID = 3


    nach einem GMX jedoch:


    Im Ordner:
    1.ini


    3.ini
    Und im Spiel:
    carid = 1
    und carid = 3 wurde zu -> CarID = 2



    Fazit:
    ich kann das car mit /delcar nicht mehr löschen, da sich ja die ini und das Car IG nicht mehr übereinstimmen.


    Wenn dazu noch jemand ne Lösung hat, wäre ich 1000 mal dankbar


    MfG Martin08

    Wenn ich dir geholfen haben sollte, würde ich mich extremst freuen, wenn du dir kurz Zeit nehmen würdest und mir helfen könntest:


    Unterstütze mich bitte hier und vote für mich:


    Ihr müsst nur oben links auf Vote klicken und bestätigen! Vielen Dank dafür

    Einmal editiert, zuletzt von Martin08 ()