VehicleID vertauscht

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,


    bei meinem Auto Script vertauschen sich die vehicleids


    z.B.
    Tom portet sein auto zu sich und bekommt das auto von jemand anderen, weil sie die selbe vehilceid in SpielerInfo[playerid][PlayerAuto] haben


    hier mal die Codeschnipsel wo SpielerInfo[playerid][PlayerAuto] ein neuen wert bekommt oder geändert wird



    beim auto kaufen
    SpielerInfo[playerid][PlayerAuto][CarID] = CreateVehicle(model,kAutoSpawn[rand][0],kAutoSpawn[rand][1],kAutoSpawn[rand][2],kAutoSpawn[rand][3],-1,-1,99999999);


    beim auto respawnen
    SpielerInfo[playerid][PlayerAuto][CarID] = CreateVehicle(SpielerAuto[playerid][CarID][cModel],SpielerAuto[playerid][CarID][CarPos][0],SpielerAuto[playerid][CarID][CarPos][1],SpielerAuto[playerid][CarID][CarPos][2],SpielerAuto[playerid][CarID][CarPos][3],SpielerAuto[playerid][CarID][cColor1],SpielerAuto[playerid][CarID][cColor2],99999999);


    beim einloggen
    SpielerInfo[playerid][PlayerAuto][cid] = CreateVehicle(SpielerAuto[playerid][cid][cModel],SpielerAuto[playerid][cid][CarPos][0],SpielerAuto[playerid][cid][CarPos][1],SpielerAuto[playerid][cid][CarPos][2],SpielerAuto[playerid][cid][CarPos][3],SpielerAuto[playerid][cid][cColor1],SpielerAuto[playerid][cid][cColor2],99999999);


    bei onvehilcespawn(das ist zwar unnötig aber ist ja egal)
    SpielerInfo[i][PlayerAuto][ii] = CreateVehicle(SpielerAuto[i][ii][cModel],SpielerAuto[i][ii][CarPos][0],SpielerAuto[i][ii][CarPos][1],SpielerAuto[i][ii][CarPos][2],SpielerAuto[i][ii][CarPos][3],SpielerAuto[i][ii][cColor1],SpielerAuto[i][ii][cColor2],99999999);


    bei OnPlayerDisconnect
    SpielerInfo[playerid][PlayerAuto][i] = 0;


    und beim auto verkaufen
    SpielerInfo[playerid][PlayerAuto][CarID] = 0;


    nur hier bekommt SpielerInfo[playerid][PlayerAuto] ein neuen wert



    ich hab ein command eingebaut der alle spieler durchgeht und von allen autos die vehicleids auflistet damit ich mal sehe was da los ist


    man kann drei autos haben deswegen 1 , 2 oder 3 zahlen


    Code
    [30.4.2013] [18:12:38]Spieler1(id:11): 1056, 1056, 1058;               hier hat er zweimal   1056
    [30.4.2013] [18:12:38]Spieler2(id:12): 1059;
    [30.4.2013] [18:12:38]Spieler3(id:13): 1056, 1058;                          hier hat wieder einer 1056
    [30.4.2013] [18:12:38]Spieler4(id:14): 1063, 1071;
    [30.4.2013] [18:12:38]Spieler5(id:15): 1069, 1070;
    [30.4.2013] [18:12:38]Spieler6(id:17): 1061;
    [30.4.2013] [18:12:38]Spieler7(id:19): 1065, 1066, 1067;
    [30.4.2013] [18:12:38]Spieler8(id:23): 1056, 1057, 1058;             hier auch 1056


    hier ist noch der command


    dcmd_carbug(playerid, params[])
    {
    #pragma unused params
    if(GetPVarInt(playerid, "admin")>=10 || IsPlayerAdmin(playerid))
    {
    new string[70];
    ForPlayer(i)
    {
    if(!SpielerInfo[i][PlayerAutos]) continue;

    if(SpielerInfo[i][PlayerAutos] == 1)
    {
    format(string,sizeof(string), "%s(id:%d): %d;",Player(i), i, SpielerInfo[i][PlayerAuto][0]);
    }
    else if(SpielerInfo[i][PlayerAutos] == 2)
    {
    format(string,sizeof(string), "%s(id:%d): %d, %d;",Player(i), i, SpielerInfo[i][PlayerAuto][0],SpielerInfo[i][PlayerAuto][1]);
    }
    else if(SpielerInfo[i][PlayerAutos] == 3)
    {
    format(string,sizeof(string), "%s(id:%d): %d, %d, %d;",Player(i), i, SpielerInfo[i][PlayerAuto][0],SpielerInfo[i][PlayerAuto][1],SpielerInfo[i][PlayerAuto][2]);
    }
    SendClientMessage(playerid,hellrot,string);
    BugLog(string);
    }
    }
    else SendClientMessage(playerid,rot,KEINADMIN);
    return 1;
    }



    wie kann es sein das leute die selbe vehilceids haben, ich hoffe es kann jemand helfen




    mfg Markus

  • Wenn ein Auto Zerstört wird und während dessen ein neues gespawnt / gekauft wird bekommt es die ID die niedrig und frei ist zugewiesen.


    Heißt:


    VehicleID 4: wird zerstört
    CreateVehicle(...); VehicleID ist dann 4
    Anderes Auto respawnt bekommt ID 5


    so ähnlich zumindest ^^

  • ja aber wie kann es sein das autos die selbe vehicle id bekommen, das geht ja normal gar nicht


    es hatte schon mehr leute den bug, aber es gab nie eine richtige lösung