Abfragen ob es ein Privat Car ist

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.
    Ich würde gerne wissen, wie man im Dtc Car-System abfragt, ob es ein Privates Fahrzeug ist.
    Also, z.B. wenn ich new vehicleid = GetPlayerVehicleID(playerid); mache, und dann abfragen kann es ein privates fahrzeug ist.
    Habe da so meine Probleme. ;)

  • new newcar = GetPlayerVehicleID(playerid);
    if(newcar == PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarId]){


    naja nix besonderes ^^ da hättest auch im pastbin bei /parken schauen können ist ja nix großes ahja ich hab unter deinem alten Problem auch was
    gepostet


    /edit


    link zum vorherigen Frage von dir
    Kann nur 1 Taste drücken


    nur noch eine kleine Info das geht nur innerhalb von einer halben sekunde also man kann keine taste 2 Sekunden lang gedrückt haben
    und noch eine weitere dazu abfragen ist leider bei OnPlayerKeyStateChange nicht möglich und 4 ist = die Taste KEY_FIREwar nur ein test

  • //Edit
    Okay, habs nun. (Halbwegs)
    Das ganze funktioniert nur, wenn der Spieler von dem abgeschleppten fahrzeug den "Carkey" für das fahrzeug ausgewählt hat. Hat der Spieler ein anderen "Carkey", passiert nichts!
    CMD:oparken(playerid)
    {
    if(!(Spieler[playerid][pFraktion] == 5))return SendClientMessage(playerid, COLOR_GREY, "Du bist kein Ordnungsämtler.");
    if (GetVehicleModel(GetPlayerVehicleID(playerid)) == 525)
    {
    if(IsTrailerAttachedToVehicle(GetPlayerVehicleID(playerid)))
    {
    for(new i=0;i<GetMaxPlayers();i++)
    {
    new trailerid = GetVehicleTrailer(GetPlayerVehicleID(playerid));
    if(trailerid == PlayerCar[i][PlayerKey[i]][CarId])
    {
    new Float:vX, Float:vY, Float:vZ;
    GetVehiclePos(trailerid, vX, vY, vZ);
    PlayerCar[i][trailerid][CarPos_x] = vX;
    PlayerCar[i][trailerid][CarPos_y] = vY;
    PlayerCar[i][trailerid][CarPos_z] = vZ;
    PlayerCar[i][trailerid][CarState] = 1; //Abgeschleppt
    printf("Vehicle ID %d von %s gesaved.", trailerid, GetName(i));
    printf("Vehicle ID %d wurde bei %f %f %f gespeichert.", trailerid, vX, vY, vZ);
    return 1;
    }
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Du hast kein Fahrzeug hinten dran.");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "Du bist in keinem Ordnungsamt-Fahrzeug.");
    return 1;
    }
    return 1;
    }


    Danke im Vorraus. ;D


    //Edit


    Fehler xD


    //Edit-2
    Nochmal was verbessert.
    Kann mir keiner helfen? -.-

  • mir würde noch was einfallen und zwar gabs für dtc ein extra native um den slot abzufragen und den besitzer

    forward GetDtCarOwnerSlot(playerid,veh);
    Function GetDtCarOwnerSlot(playerid,veh)
    {
    for(new X = 0; X < MaxVeh; X++)
    {
    if(PlayerCar[playerid][X][CarId] == veh)
    {
    return X;
    }
    }
    return 555;
    }


    forward GetDtCarOwner(veh);
    Function GetDtCarOwner(veh)
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    for(new X = 0; X < MaxVeh; X++)
    {
    if(PlayerCar[i][X][CarId] == veh){return i;}
    }
    }
    return 1;
    }


    dann kannst du es ja so verwenden


    new besitzer= GetDtCarOwner(trailercar);
    new slot = GetDtCarOwnerSlot(besitzer,trailercar);
    PlayerCar[besitzer][slot][CarPos_x] = vX;
    PlayerCar[besitzer][slot][CarPos_y] = vY;
    PlayerCar[besitzer][slot][CarPos_z] = vZ;
    PlayerCar[besitzer][slot][CarState] = 1;


    oder du bringst ganz einfach die slot abfrage ein
    also hier die for schleife
    for(new X = 0; X < MaxVeh; X++)


    weil dein problem ist du gehst nicht die carslots durch