Abschlepp Problem PAWN

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,


    gerne würde ich nun Abfragen wollen ob es sich um ein Fraktionsfahrzeug handelt oder eben um ein Privat Fahrzeug. Leider bin ich da bisher ohne Erfolg.



    for(new i=0; i<sizeof(cInfo); i++)
    {
    if(cInfo[i][id_x]==0) continue;
    if(cInfo[i][id_x] != GetVehicleTrailer(veh)) continue;
    cInfo[i][c_gespeert] = 1;
    cInfo[i][c_x] = 2245.3259;
    cInfo[i][c_y] = 2007.7205;
    cInfo[i][c_z] = 10.5474;
    if(cInfo[i][fraktion]==1)
    {
    SendClientMessage(playerid,-1,"Fraktionsfahrzeug.");
    }
    if(cInfo[i][fraktion]==0)
    {
    SendClientMessage(playerid,-1,"Privatfahrzeug.");
    }




    }

    Er erkennt aktuell nur Privatfahrzeuge. Was müsste ich anders machen ?



    enum carEnum{
    id_x,
    model,
    besitzer,
    Float:c_x,
    Float:c_y,
    Float:c_z,
    Float:c_r,
    c_gespeert,
    db_id,
    color1,
    color2,
    key,
    g_preis,
    fraktion



    }


  • for(new i=0; i<sizeof(cInfo); i++)
    {
    if(cInfo[i][id_x]==0) continue;
    if(cInfo[i][id_x] != GetVehicleTrailer(veh)) continue;
    cInfo[i][c_gespeert] = 1;
    cInfo[i][c_x] = 2245.3259;
    cInfo[i][c_y] = 2007.7205;
    cInfo[i][c_z] = 10.5474;
    if(cInfo[i][fraktion]==1)
    {
    SendClientMessage(playerid,-1,"Fraktionsfahrzeug.");
    }
    else
    {
    SendClientMessage(playerid,-1,"Privatfahrzeug.");
    }
    return true;
    }

  • for(new i=0; i<sizeof(cInfo); i++){ if(cInfo[i][id_x]==0) continue; if(cInfo[i][id_x] != GetVehicleTrailer(veh)) continue; cInfo[i][c_gespeert] = 1; cInfo[i][c_x] = 2245.3259; cInfo[i][c_y] = 2007.7205; cInfo[i][c_z] = 10.5474; if(cInfo[i][fraktion]==1) { SendClientMessage(playerid,-1,"Fraktionsfahrzeug."); } else { SendClientMessage(playerid,-1,"Privatfahrzeug."); } return true;}

    Else ist in dem Fall schwachsinnig bzw die falsche Abfrage. Da nicht ausgerechnet das Fahrzeug auch ein Privat Fahrzeug ist. Beispiel CreateVehicle für Jobs.

  • du fragst ab ob oder oder also ist da nix schwachsinn

    Nicht zwangsläufig, wenn es mit "2" zum Beispiel ein Mietfahrzeug ist, welches anders behandelt wird, dann klappt else nicht.
    else-if wäre hier angebrachter.


    Er erkennt aktuell nur Privatfahrzeuge. Was müsste ich anders machen ?

    Der Code an sich ist schon korrekt. Vermutlich weist du beim Erstellen des Fraktionsfahrzeugs nicht die 1 zu.


    Außerdem hast du hier bereits einen Thread zu diesem Thema offen, warum eröffnest du einen zweiten?
    Fahrzeug Abfrage PAWN

  • Das erstellen ist denke ich mal Richtig. Dennoch kann ich mich ja auch irren daher einmal der Code



    for(new i=0; i<sizeof(cInfo); i++)
    {
    if(cInfo[i][id_x]!=0)continue;
    GetPlayerName(playerid,PlayerInfo[p_id][pName],MAX_PLAYER_NAME);
    cInfo[i][besitzer]=PlayerInfo[playerid][pLeader];
    cInfo[i][c_x]=x;
    cInfo[i][c_y]=y;
    cInfo[i][c_z]=z;
    cInfo[i][c_r]=r;
    cInfo[i][color1]=1;
    cInfo[i][color2]=1;
    cInfo[i][model]=modelid;
    cInfo[i][fraktion] = PlayerInfo[playerid][pLeader];
    cInfo[i][id_x] = CreateVehicle(modelid,x,y,z,r,-1,-1,-1,0);
    new string[128];
    format(string,sizeof(string),"Das Auto %i wurde erstellt.",GetVehicleFriendlyName(cInfo[i][id_x]));
    SendClientMessage(playerid,COLOR_RED,string);
    saveCarToDBFrak(playerid,i);
    return 1;
    }

  • Füge hier mal einen print ein:
    cInfo[i][fraktion] = PlayerInfo[playerid][pLeader];
    printf("Fraktion: %d", PlayerInfo[playerid][pLeader]);


    Was wird dir dann geprintet und siehst du die Meldung, dass es ein Fraktionsfahrzeug ist, wenn du dieses Fahrzeug abschleppst?