Verbrauch beim Tanksystem funkt 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
  • Hey,
    mein problem liegt darin das jedes auto unterschiedlich viel Kraftstoff verbraucht.
    1.Ich starte den Motor und der tank zeigt mir 190 an
    2.ich fahre los, und dann ist tank plötzlich 0 und ich kann nicht mehr fahren


    Hier die Codes

    enum _Fahrzeuge
    {
    ID,
    Fahrzeugname[50],
    MaxTank,
    Verlust
    };
    new Fahrzeuge[][_Fahrzeuge] = {
    /*MODELID,NAME,TANK,VERLUST*/
    {411,"Infernus",190,1000},
    {522,"NRG-500",190,5000},
    };


    public OnGameModeInit()
    {
    SetTimer("BenzinVerlust", GetVehicleVerlust(GetPlayerVehicleID(playerid)), true);
    }
    public OnPlayerUpdate(playerid)
    {
    //Tank
    if(GetPlayerVehicleSeat(playerid) == 0)
    {
    new vehicleid;
    vehicleid = GetPlayerVehicleID(playerid);
    if(GetVehicleModel(vehicleid) != 509 && GetVehicleModel(vehicleid) != 481 && GetVehicleModel(vehicleid) != 510)
    {
    new string[125];
    if(Tank[vehicleid] < 50) format(string,sizeof string,"~b~Tank: ~r~%i",GetVehicleMaxTank(GetPlayerVehicleID(playerid)));
    else if(Tank[vehicleid] < 100) format(string,sizeof string,"~b~Tank: ~y~%i",GetVehicleMaxTank(GetPlayerVehicleID(playerid)));
    else if(Tank[vehicleid] <= 1000) format(string,sizeof string,"~b~Tank: ~g~%i",GetVehicleMaxTank(GetPlayerVehicleID(playerid)));
    TextDrawSetString(Anzeige[playerid],string);
    }
    }
    }
    public BenzinVerlust()
    {
    for(new i=0; i<MAX_VEHICLES; i++)
    {
    if (Motor[i] == true)
    {
    Tank[i] = Tank[i]-1;
    if (Tank[i]<1)
    {
    Tank[i] = 0;
    GetVehicleParamsEx(i,motor,lichter,objektiv,boot,bonnet,doors,alarm);
    SetVehicleParamsEx(i,VEHICLE_PARAMS_OFF,lichter,objektiv,boot,bonnet,doors,alarm);
    Motor[i] = false;
    }
    }
    }
    return 1;
    }


    stock GetVehicleMaxTank(vehicleid)
    {
    for(new i = 0; i < sizeof(Fahrzeuge); i++)
    {
    if(Fahrzeuge[i][ID] == GetVehicleModel(vehicleid))
    {
    return Fahrzeuge[i][MaxTank];
    }
    }
    }
    stock GetVehicleVerlust(vehicleid)
    {
    for(new i = 0; i < sizeof(Fahrzeuge); i++)
    {
    if(Fahrzeuge[i][ID] == GetVehicleModel(vehicleid))
    {
    return Fahrzeuge[i][Verlust];
    }
    }
    }


  • public OnGameModeInit() {
    SetTimer("BenzinVerlust", GetVehicleVerlust(GetPlayerVehicleID(playerid)), true);
    }

    Und du konntest das ausführen?