CarKey - System Problem

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
  • Guten Abend Breadfish,


    ich habe momentan ein kleines Problem mit nem CarKey-System.


    ocmd:key(playerid,params[])
    {
    for(new i=0; i<sizeof(carInfo); i++)
    {
    for(new k=0; k<sizeof(keyInfo); k++)
    {
    if(GetPlayerVehicleID(playerid) == carInfo[i][id_x])
    {
    if(keyInfo[k][besitzer] == sInfo[playerid][db_id])
    {
    if(keyInfo[k][k_id] == carInfo[i][db_id])
    {
    SendClientMessage(playerid,COLOR_RED,"Schlüssel passt!");
    }
    else {
    SendClientMessage(playerid,COLOR_RED,"Schlüssel passt nicht!");
    }


    }


    }


    }


    }
    return 1;
    }


    Die Schlüssel sind in ner Extra MYSQL-Tabelle mit id, key_id, und besitzer eingetragen. Wenn ich jetzt einen Schlüssel auf meinen Namen im System habe, klappt es einwandfrei das wenn ich in ein Fahrzeug einsteigen will das es bei dem richtigen geht und bei dem falschen nicht. Aber sobald ich 2 Schlüssel auf meinen Namen im System habe für unterschiedliche Cars bzw Allg. sagt er mir bei jedem Auto: "Schlüssel passt! und Schlüssel passt nicht!.


    Hat einer ne Lösung?




    Liebe Grüße


    Boomray

  • Teste es mal so:
    ocmd:key(playerid,params[])
    {
    for(new i=0; i<sizeof(carInfo); i++)
    {
    if(GetPlayerVehicleID(playerid) == carInfo[i][id_x])
    {
    for(new k=0; k<sizeof(keyInfo); k++)
    {
    if(keyInfo[k][k_id] == carInfo[i][db_id])
    {
    if(keyInfo[k][besitzer] == sInfo[playerid][db_id])
    {
    SendClientMessage(playerid,COLOR_RED,"Schlüssel passt!");
    break;
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Schlüssel passt nicht!");
    break;
    }
    }
    }
    break;
    }
    }
    return 1;
    }

  • Jeffry: Danke erstmal.


    Jetzt zeigt er bei Autos wo ich Schlüssel habe nur noch an Das der Schlüssel Passt.
    Aber wenn ich in ein Auto einsteige von dem ich keinen Schlüssel habe zeigt er gar nichts an, aber er soll ja "Schlüssel passt nicht" anzeigen.

  • Ok, dann sollte es so passen:
    ocmd:key(playerid,params[])
    {
    for(new i=0; i<sizeof(carInfo); i++)
    {
    if(GetPlayerVehicleID(playerid) == carInfo[i][id_x])
    {
    for(new k=0; k<sizeof(keyInfo); k++)
    {
    if(keyInfo[k][k_id] == carInfo[i][db_id])
    {
    if(keyInfo[k][besitzer] == sInfo[playerid][db_id])
    {
    SendClientMessage(playerid,COLOR_RED,"Schlüssel passt!");
    return 1;
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Schlüssel passt nicht!");
    return 1;
    }
    }
    }
    break;
    }
    }
    return SendClientMessage(playerid,COLOR_RED,"Schlüssel passt nicht!");
    }