Timer läuft nicht richtig ?

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 ^^


    Beim Payday läuft der Timer irgendwie nicht richtig !


    Er schwankt immer zwischen 3 und 10 Minuten !


    Laut dem Code sollte er aber jede 2 Minuten kommen !


    Hier der Code:



    forward pimer(playerid);


    pimerday[playerid] = SetTimerEx("pimer",60000,1,"i",playerid);


    public pimer(playerid)
    {
    pPlaytime[playerid]++; // ++ ist wie +1 also wird es alle 60000 milliskunden um 1 erhöht soll die Spielzeit sein
    if(pSincePayday[playerid] >= 2) // wenn Zeitseitpayday 60 oder über 6o ist wird das in der Klammer ausgelöst
    {
    new Spieler[64];
    format(Spieler,sizeof(Spieler),"Spieler/%s.txt",PlayerName(playerid));
    new levelbonus;
    //levelbonus=GetPlayerScore(playerid);
    // ZeitseitPayday wird wieder auf 0 gesetzt da er den Payday hatte.
    //GivePlayerMoney(playerid, 3000); // der ID "Playerid" werden 2000$ gegeben
    dini_IntSet(Spieler,"Levelpunkte",dini_Int(Spieler,"Levelpunkte")+1);
    new gehalt;
    if(GetPlayerFrakRang(playerid,0))
    {
    gehalt=2500;
    }
    if(GetPlayerFrakRang(playerid,1))
    {
    gehalt=4000;
    }
    if(GetPlayerFrakRang(playerid,2))
    {
    gehalt=5000;
    }
    if(GetPlayerFrakRang(playerid,3))
    {
    gehalt=6000;
    }
    if(GetPlayerFrakRang(playerid,4))
    {
    gehalt=9000;
    }
    if(GetPlayerFrakRang(playerid,5))
    {
    gehalt=12000;
    }
    if(dini_Int(Spieler,"Levelpunkte")>=dini_Int(Spieler,"Level"))
    {
    dini_IntSet(Spieler,"Levelpunkte",0);
    SetPlayerScore(playerid,dini_Int(Spieler,"Level")+1);
    new string[256];
    format(string,sizeof(string),"Du hast 0 von %i Levelpunkten!",GetPlayerScore(playerid));
    dini_IntSet(Spieler,"Level",GetPlayerScore(playerid));
    SendClientMessage(playerid,Orange,"~Payday~");
    SendClientMessage(playerid,Gelb,"Glückwunsch! Du bist ein Level aufgestiegen!");
    new string3[256];
    format(string3,sizeof(string3),"Du bist nun Level %i !",GetPlayerScore(playerid));
    SendClientMessage(playerid,Gelb,string3);
    SendClientMessage(playerid,Gelb,string);
    levelbonus=GetPlayerScore(playerid)*300;
    new bankkontostring[256];
    new levelbonusstring[256];
    new hartz4string[256];
    new gehaltstring[256];
    new bankkontostringneu[256];
    format(bankkontostring,sizeof(bankkontostring),"Alter Kontostand: %i",GetPVarInt(playerid,"Kontostand"));
    format(levelbonusstring,sizeof(levelbonusstring),"Levelbonus: %i",levelbonus);
    //format(hartz4string,sizeof(hartz4string),"Hartz IV: 500");
    format(gehaltstring,sizeof(gehaltstring),"Gehalt: %i",gehalt);
    SendClientMessage(playerid,Gelb,bankkontostring);
    SendClientMessage(playerid,Gelb,levelbonusstring);
    SendClientMessage(playerid,Gelb,"Hartz IV: 500");
    SendClientMessage(playerid,Gelb,gehaltstring);
    SetPVarInt(playerid,"Kontostand",GetPVarInt(playerid,"Kontostand")+levelbonus);
    SetPVarInt(playerid,"Kontostand",GetPVarInt(playerid,"Kontostand")+gehalt);
    if(dini_Int(Spieler,"Hartz4")>=1)
    {
    SetPVarInt(playerid,"Kontostand",GetPVarInt(playerid,"Kontostand")+500);
    }
    format(bankkontostringneu,sizeof(bankkontostringneu),"Neuer Kontostand: %i",GetPVarInt(playerid,"Kontostand"));
    SendClientMessage(playerid,Gelb,bankkontostringneu);
    pSincePayday[playerid] = 0;
    SpielerSpeichern(playerid);
    }
    else
    {
    new string[256];
    format(string,sizeof(string),"Du hast %i von %i Levelpunkten!",dini_Int(Spieler,"Levelpunkte"),GetPlayerScore(playerid));
    SendClientMessage(playerid,Orange,"~Payday~");
    SendClientMessage(playerid,Gelb,string);
    levelbonus=GetPlayerScore(playerid)*300;
    new bankkontostring[256];
    new levelbonusstring[256];
    new gehaltstring[256];
    new bankkontostringneu[256];
    format(bankkontostring,sizeof(bankkontostring),"Alter Kontostand: %i",GetPVarInt(playerid,"Kontostand"));
    format(levelbonusstring,sizeof(levelbonusstring),"Levelbonus: %i",levelbonus);
    format(gehaltstring,sizeof(gehaltstring),"Gehalt: %i",gehalt);
    SendClientMessage(playerid,Gelb,bankkontostring);
    SendClientMessage(playerid,Gelb,levelbonusstring);
    SendClientMessage(playerid,Gelb,gehaltstring);
    SetPVarInt(playerid,"Kontostand",GetPVarInt(playerid,"Kontostand")+levelbonus);
    SetPVarInt(playerid,"Kontostand",GetPVarInt(playerid,"Kontostand")+gehalt);
    format(bankkontostringneu,sizeof(bankkontostringneu),"Neuer Kontostand: %i",GetPVarInt(playerid,"Kontostand"));
    SendClientMessage(playerid,Gelb,bankkontostringneu);
    pSincePayday[playerid] = 0;
    SpielerSpeichern(playerid);
    }
    }
    else
    {
    pSincePayday[playerid]++; // ZEit seit Payday wird um 1 erhöht
    }
    return 1;
    }


    Beweis: