Tankproblem

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, habe großes Tankproblem. Und zwar wenn ich Tanken will, steht oben im Chat "Fahrzeug wird betankt" bleib aber dann dauerhaft gefreezt.
    Weiß gerade einfach nicht weiter.


    if(strcmp(cmd, "/tanken", true) == 0)
    {
    if(IsPlayerInRangeOfPoint(playerid,10,1004.0812,-939.4362,42.1797))
    {
    if(IsPlayerConnected(playerid))
    {
    if(IsAtGasStation(playerid))
    {
    if(IsANoTachoVehicle(GetPlayerVehicleID(playerid)))
    {
    SendClientMessage(playerid,COLOR_YELLOW," Du kannst kein Fahrrad betanken!");
    }
    SetTimer("Fillup",RefuelWait,0);
    Refueling[playerid] = 1;
    FreezePlayer(playerid);
    SendClientMessage(playerid,COLOR_WHITE," Dein Fahrzeug wird betankt, Bitte warten....");
    }
    return 1;
    }
    }
    }



    Problem 2: Im Textdraw steht die Tankanzeige immer auf 45 %, ich komm einfach nicht drauf warum :/
    kann das hiermit was zu tun haben?


    forward SpeedoMeter();
    public SpeedoMeter()
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(IsPlayerInAnyVehicle(i) && GetPlayerState(i) == 2)
    {
    new string[100];
    new vehicle = GetPlayerVehicleID(i);
    if(IsANoTachoVehicle(GetPlayerVehicleID(i)))
    {
    TextDrawSetString(SpeedoTank[i], "n/a");
    }
    else if(IsAutoAn(GetPlayerVehicleID(i)))
    {
    if(Gas[vehicle] <= 10)
    {
    format(string, sizeof(string), "%d%", Gas[vehicle]);
    TextDrawSetString(SpeedoTank[i], string);
    }
    else
    {
    format(string, sizeof(string), "%d%", Gas[vehicle]);
    TextDrawSetString(SpeedoTank[i], string);
    }
    }
    }
    }
    }
    return 1;
    }



    Gruß

  • Beim Ersten benutzt du für den Timer die Zeit "RefuelWait".. Diese ist aber nirgends definiert und endet somit auch nicht, denke ich zumindest. Bei deinem zweiten Problem kann ich dir leider nicht helfen, sorry.

    Greetz

  • zeig mal den public Fillup

    jetzt glaub ich weiß ich an was es liegt.
    Ich habe den Timer nicht definiert, sprich kein public erstellt und somit sollte er ja keine Funktion haben oder?
    Sorry kenn mich noch nicht allzugut aus.


    Gruß


    //EDIT: Funktioniert jetzt. Der Spieler wird nach einer bestimmten Zeit entfreezt.
    Jetzt wollte ich noch einen Spritpreis einbauen, wie schreibt man sowas ?


    new spritpreis = ?? (Sollte ein random Geld sein zwischen 20-40 $)


    meine Public:


    forward Fillup(playerid);
    public Fillup(playerid)
    {
    new spritpreis;
    if(IsPlayerConnected(playerid))
    {
    UnFreezePlayer(playerid);
    SendClientMessage(playerid, COLOR_GREEN,"Tankvorgang abgeschlossen");
    }
    return 1;
    }

  • hm, hier seh ich die positionen von den spawns.
    Ich meine wie ich einen spritpreis einstellen kann
    dass der zwischen 20-40 $ beträgt und den dann da reinpacke.


    Ich definiere ihn mit "new spritpreis;" z.B


    Dann will ich so machen z.B


    spritpreis = sprit pro liter (20-40$) nur wie bekomme ich den Sprit pro Liter mit den Betrag hin?


    Gruß

  • if(Gas[vehicle] <= 10)
    {
    format(string, sizeof(string), "%d%", Gas[vehicle]);
    TextDrawSetString(SpeedoTank[i], string);
    }
    else
    {
    format(string, sizeof(string), "%d%", Gas[vehicle]);
    TextDrawSetString(SpeedoTank[i], string);
    }
    Kann mir jemand den Unterschied zwischen der ersten Abfrage und der Abfrage nach dem 'oder' nennen?


    Advertising has us chasing cars and clothes, working jobs we hate so we can buy shit we don’t need.
    – Tyler Durden


    Sobald Werbung im Spiel ist, bist du, die Nutzerin, der Nutzer, das Produkt.