Fehler im Tanksystem

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


    Ich hab mir grad ein Individuelles Tanksystem zusammengebastelt (hat 2 Stunden gedauert).
    Nun, wenn Ich tanken will, funktioniert das nicht :o
    Hier der fill-Befehl und die "FillGas"-FunktioN:

    Spoiler anzeigen
    public FillGas(OldFuel, i, playerid, price)
    {
    new str[50];
    new car = GetPlayerVehicleID(playerid);
    if(OldFuel < MaxTank[(car)-400])
    {
    if(IsAtGasStation(playerid) && Motor[i] == false)
    {
    format(str, sizeof str, "Du hast nicht genug Geld um dein Fahrzeug zu betanken. Der Preis pro Liter liegt bei %d$!", price);
    if(GetPlayerMoney(playerid) >= PREIS)
    {
    Tank[i] ++;
    SetTimerEx("FillGas", TANKDAUER * 1, 0, "iiii", Tank[i], i, playerid, price + PREIS);
    GivePlayerMoney(playerid, -PREIS);
    }
    else
    {
    SendClientMessage(playerid,error, str);
    }
    }
    else
    {
    format(str, sizeof str, "Du hast dein Fahrzeug für %d$ betankt!", price);
    SendClientMessage(playerid,error, str);
    }
    }
    else
    {
    format(str, sizeof str, "Du hast dein Fahrzeug für %d$ betankt!", price);
    SendClientMessage(playerid, info, str);
    }
    return 1;
    }

    Spoiler anzeigen
    ocmd:fill(playerid, params[])
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    if(IsAtGasStation(playerid))
    {
    new vehicle = GetPlayerVehicleID(playerid); new price = MaxTank[(vehicle)-400]; price -= Tank[vehicle];
    if ( Motor[vehicle] == true )
    {
    SendClientMessage(playerid, error, "Bitte stelle den Motor vor dem Tanken aus!");
    }
    else
    {
    if(GetPlayerMoney(playerid) > price*PREIS)
    {
    TogglePlayerControllable(playerid, 1);
    new OldFuel = Tank[vehicle], t = price * TANKDAUER;
    SetTimerEx("FillGas", 1000, 0, "iiii", OldFuel, vehicle, playerid, 0);
    SendClientMessage(playerid,COLOR_LIGHTRED,"Fahrzeug wird betankt!");
    printf("%d",t);
    }
    else
    {
    SendClientMessage(playerid, error, "Du hast nicht genug Geld!");
    }
    }
    }
    else
    {
    SendClientMessage(playerid, error, "Du bist an keiner Tankstelle!");
    }
    }
    return 1;
    }

    Spoiler anzeigen
    public IsAtGasStation(playerid)
    {
    if(IsPlayerConnected(playerid))
    {
    if(IsPlayerInRangeOfPoint(playerid,15.0,1004.0070,-939.3102,42.1797) || IsPlayerInRangeOfPoint(playerid,15.0,1944.3260,-1772.9254,13.3906)) { return 1; }
    else if(IsPlayerInRangeOfPoint(playerid,15.0,-90.5515,-1169.4578,2.4079) || IsPlayerInRangeOfPoint(playerid,15.0,-1609.7958,-2718.2048,48.5391)) { return 1; }
    else if(IsPlayerInRangeOfPoint(playerid,15.0,-2029.4968,156.4366,28.9498) || IsPlayerInRangeOfPoint(playerid,15.0,-2408.7590,976.0934,45.4175)) { return 1; }
    else if(IsPlayerInRangeOfPoint(playerid,15.0,-2243.9629,-2560.6477,31.8841) || IsPlayerInRangeOfPoint(playerid,6.0,-1676.6323,414.0262,6.9484)) { return 1; }
    else if(IsPlayerInRangeOfPoint(playerid,15.0,2202.2349,2474.3494,10.5258) || IsPlayerInRangeOfPoint(playerid,15.0,614.9333,1689.7418,6.6968)) { return 1; }
    else if(IsPlayerInRangeOfPoint(playerid,15.0,-1328.8250,2677.2173,49.7665) || IsPlayerInRangeOfPoint(playerid,15.0,70.3882,1218.6783,18.5165)) { return 1; }
    else if(IsPlayerInRangeOfPoint(playerid,15.0,2113.7390,920.1079,10.5255) || IsPlayerInRangeOfPoint(playerid,15.0,-1327.7218,2678.8723,50.0625)) { return 1; }
    else if(IsPlayerInRangeOfPoint(playerid,15.0,2146.6143,2748.4758,10.3852)||IsPlayerInRangeOfPoint(playerid,15.0,2639.0022,1108.0353,10.3852)) { return 1; }
    else if(IsPlayerInRangeOfPoint(playerid,15.0,1598.2035,2198.6448,10.3856)){return 1;}
    }
    return 0;
    }


    Hier das "Max-Tank":

    Spoiler anzeigen
    new MaxTank[212] = {
    90,//Landstalker
    65,//Bravura
    80,//Buffalo
    120,//Linerunner
    85,//Perenniel
    60,//Sentinel
    160,//Dumper
    100,//Firetruck
    110,//Trashmaster
    90,//Stretch
    50//Manana
    };

    Spoiler anzeigen
    //Und so weiter


    Keine Scripterrors, doch InGame an der Tanke kann ich nich tanken :o


    Bitte um Hilfe


    lg