Flüssiges Auftanken + Anzeige

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,


    wie mache ich das, dass wenn ich Tanke die Tankanzeige langsam Steigt und nicht direkt auf 100 springt?


    Also dann 1,2,3,4,5,6 l da steht?


    Function Fillup()
    {
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    new VID;
    new FillUp;
    new string[256];
    VID = GetPlayerVehicleID(i);
    FillUp = GetGasMax(GetVehicleModel(VID)) - Gas[VID];
    if(Refueling[i] == 1)
    {
    if(GetPlayerMoney(i) >= FillUp+1)
    {
    Gas[VID] += FillUp;
    FillUp = FillUp * SPRITPREIS;
    format(string,sizeof(string),"* Fahrzeug für $%d aufgetankt. (Preis pro Liter: $%d)",FillUp,SPRITPREIS);
    SendClientMessage(i,COLOR_LIGHTBLUE,string);
    GivePlayerMoney(i, - FillUp);
    SBizzInfo[2][sbTill] += FillUp/1;
    ExtortionSBiz(2, FillUp);
    Refueling[i] = 0;
    UnFreezePlayer(i);
    }
    else
    {
    format(string,sizeof(string),"* Du hast nicht genug Geld zum Tanken, Kosten: $%d / Liter.",FillUp);
    SendClientMessage(i,COLOR_LIGHTBLUE,string);
    }
    }
    }
    }
    return 1;
    }
    Function FFillup()
    {
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    new VID;
    new FillUp;
    new string[256];
    VID = GetPlayerVehicleID(i);
    FillUp = GetGasMax(GetVehicleModel(VID)) - Gas[VID];
    if(Refueling[i] == 1)
    {
    if(GetPlayerMoney(i) >= FillUp+1)
    {
    Gas[VID] += FillUp;
    format(string,sizeof(string),"* Ihr Fahrzeug wurde Aufgetankt");
    SendClientMessage(i,COLOR_LIGHTBLUE,string);
    Refueling[i] = 0;
    UnFreezePlayer(i);
    }
    else
    {
    format(string,sizeof(string),"* Du hast nicht genug Geld zum Tanken, Kosten: $%d / Liter.",FillUp);
    SendClientMessage(i,COLOR_LIGHTBLUE,string);
    }
    }
    }
    }
    return 1;
    }


    Bitte um Hilfe!

  • Wenns voll ist sopst du den Timer und gibst z.b. die Nachricht "vollgetankt" o.Ä.^^


    Wie müsste das denn Aussehen?
    Function Fillup()
    {
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    new VID;
    new FillUp;
    new string[256];
    VID = GetPlayerVehicleID(i);
    FillUp = GetGasMax(GetVehicleModel(VID)) - Gas[VID];
    if(Refueling[i] == 1)
    {
    if(GetPlayerMoney(i) >= FillUp+1)
    {
    SetTimerEx("Auffuellen",1000,0,"i",i);
    //Gas[VID] += FillUp;
    FillUp = FillUp * SPRITPREIS;
    format(string,sizeof(string),"* Fahrzeug für $%d aufgetankt. (Preis pro Liter: $%d)",FillUp,SPRITPREIS);
    SendClientMessage(i,COLOR_LIGHTBLUE,string);
    GivePlayerMoney(i, - FillUp);
    SBizzInfo[2][sbTill] += FillUp/1;
    ExtortionSBiz(2, FillUp);
    Refueling[i] = 0;
    UnFreezePlayer(i);
    }
    else
    {
    format(string,sizeof(string),"* Du hast nicht genug Geld zum Tanken, Kosten: $%d / Liter.",FillUp);
    SendClientMessage(i,COLOR_LIGHTBLUE,string);
    }
    }
    }
    }
    return 1;
    }


    forward Auffuellen(playerid);
    public Auffuellen(playerid)
    {
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    new VID;
    VID = GetPlayerVehicleID(playerid);
    //FillUp = GetGasMax(GetVehicleModel(VID)) - Gas[VID];
    Gas[VID] ++;
    }
    }
    return 1;
    }
    So?

    Einmal editiert, zuletzt von Shoxx ()

  • genau, allerdings solltest du noch etwas dazu bauen:

    forward Auffuellen(playerid);
    public Auffuellen(playerid)
    {
    if(IsPlayerConnected(playerid))
    {
    new VID;
    VID = GetPlayerVehicleID(playerid);
    Gas[VID] ++;
    if(Gas[VID] == GetGasMax(GetVehicleModel(VID)))
    {
    SendClientMessage(playerid,Farbe,"Du hast vollgetankt.");
    KillTimer(...);
    }


    }
    return 1;
    }
    Sonst hat das Tanken ja nie ein Ende...
    //Edit danke am Pille, habs bearbeitet^^

    Einmal editiert, zuletzt von DialogHD ()


  • Hab jetzt KillTimer(Auffuellen); gemacht da bekomme ich diesen Error:


    error 076: syntax error in the expression, or invalid function call

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen