Problem mit Timer welcher Geld abzieht

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


    Naja, wie soll ich sagen, ich habe da ein kleines aber feines Problem:
    Wenn ich als Taxifahrer jmd /tarif Werwolf 1 eingebe, sollte es dem Spieler Werwolf alle 10 Sekunden 1 Dollar abziehen. Nun, der Betrag verdoppelt sich aber nach jeden 10 Sekunden, also 1, 2, 4, 8, 16 ;)


    public taxitimer(playerid)
    {
    new taxigeld = PlayerInfo[playerid][pTaxigeld];
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i) && !IsPlayerNPC(i))
    {
    if(PlayerInfo[playerid][pTaxinummer] == PlayerInfo[i][pTelefonnummer])
    {
    if(PlayerInfo[playerid][pTaxigeld] != 0)
    {
    JB_GivePlayerMoney(playerid, taxigeld);
    JB_GivePlayerMoney(i, -taxigeld);
    geldtaxitimer = SetTimerEx("taxitimer", 10000,1,"d",playerid);
    }
    }
    }
    }
    return 1;
    }


    dcmd_tarif(playerid,params[])
    {
    new id, geld;
    if(sscanf(params, "ud", id, geld)) return SendClientMessage(playerid, COLOR_WHITE, "Verwendung: /tarif [ID] [Betrag]");
    else if(GetPlayerVehicleID(playerid) != GetPlayerVehicleID(id)) return SendClientMessage(playerid,COLOR_GREY,"Der Kunde ist nicht im Taxi");
    else if(geld > 100) return SendClientMessage(playerid, COLOR_GREY, "Du Abzocker");
    else
    {
    new string[128];
    new taxinr = PlayerInfo[id][pTelefonnummer];
    format(string,128,"Du bezahlst jetzt alle 10 Sekunden %d Dollar",geld);
    SendClientMessage(id,COLOR_GREEN,string);
    PlayerInfo[playerid][pTaxigeld] = geld;
    PlayerInfo[playerid][pTaxinummer] = taxinr ;
    geldtaxitimer = SetTimerEx("taxitimer", 10000,false,"d",playerid);
    }
    return 1;
    }


    MfG dUDA