Gutschein System, setzt den Kilometerstand nicht

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
  • Huhu,


    arbeite derzeit am Gutschein System, mit der Funktion KM-Stand zurücksetzten.
    Hier vorerst der Code, danach erzähle ich, was nicht funktioniert.

    case 7: //KM-Resetter
    {
    if(gettime() > Gutschein[i][gAblauf])
    {
    SendClientMessage(playerid, COLOR_GREY, "Dieser Gutschein ist bereits abgelaufen.");
    Gutschein[i][gAbgelaufen] = 1;
    return 1;
    }
    new vehicleid = GetPlayerVehicleID(playerid);
    if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid, COLOR_GREY, "Du befindest dich in keinem Fahrzeug.");
    if(!(IsAFraktionsVeh(vehicleid) == INVALID_VEHICLE_ID))
    {
    if(IsValidVehicle(vehicleid))
    {
    new fV = IsAFraktionsVeh(vehicleid);
    if(Spieler[playerid][pFraktion] != fVehicle[fV][vehFraktion])return SendClientMessage(playerid, COLOR_GREY, "Den Kilometerstand dieses Fahrzeuges kannst du nicht zurücksetzten.");
    else if(Spieler[playerid][pFraktion] == fVehicle[fV][vehFraktion] && Spieler[playerid][pRank] == RANG_LEADER)
    {
    fVehicle[fV][vehKMStand] = 0;
    Gutschein[i][gEingeloest] = 1;
    }
    }
    }
    for(new slot = 0;slot<MAX_PLAYER_VEHICLES;slot++)
    {
    if(IsValidVehicle(PrivateVehicle[playerid][slot][vehID]))
    {
    if(vehicleid == PrivateVehicle[playerid][slot][vehID])
    {
    PrivateVehicle[playerid][slot][vehKMStand] = 0;
    Gutschein[i][gEingeloest] = 1;
    }
    }
    }
    SendClientMessage(playerid, COLOR_GREY, "Dieses Fahrzeug gehört nicht dir.");
    return 1;

    }

    Irrelevant ob ich in einem Fraktionsfahrzeug sowie Privatcar von mir oder meiner Fraktion sitze, er meint die ganze Zeit, dass dieses Fahrzeug nicht mir gehört. Bei den Fraktionsfahrzeugen soll eigentlich die andere Nachricht kommen, tut Sie aber nicht.
    Nebenbei wird der KM Stand auch nicht auf 0 gesetzt, sondern bleibt so, wie vorher auch. Das der Gutschein aber eingelöst wurde, funktioniert.


    Hoffe jemand kann mir helfen :)

  • Versuch es mal so:


    Wenn das nicht klappt:
    In welchem Fahrzeug sitzt du, wenn du den Befehl ausführst? Privat- oder Fraktionsfahrzeug?
    Wie sehen die Funktionen "IsValidVehicle" und "IsAFraktionsVeh" aus?

  • Macht den Leuten doch nicht immer die ganze Arbeit vor, sie sollen ja schließlich lernen wo der Fehler liegt und wie man ihn behebt.
    Schreib wenigstens hinzu was du geändert hast oder markiere es sichtbar.



    PS : Wenn ich das richtig verstehe und der Gutschein trotzdem eingelöst wird, solltest du es noch korrigieren das der Gutschein nicht verbraucht wird wenn der Kilometerstand nicht zurückgesetzt wird.