>> Fehler beim Paydaysystem <<

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 Liebe Community.
    Ich habe ein problem mit meinen selbstgescripteten Paydaysystem.
    Ich habe ein paar besonderheiten eigebaut und ein paar Features doch im Grossen und ganzen ist das doch nichts besonderes.
    Ich habe eine Funktion gebaut, die jede Minute ausgeführt wird. Doch alle 60 Minuten, soll der Spieler einen Payday bekommen, das System habe ich mit Variabeln gescriptet. Eine Variable die sich jede Minute um 1 erhöht. Doch Leider, bekomme ich nicht alle 60 Minuten einen Paydeay, sondern jede 60 Sekunden.


    Was kann ich dagegen tuhn.
    Ich sende euch mal den Code.


    if(IsPlayerConnected(playerid))
    {
    PlayerInfo[playerid][pPaytime]++;
    if(PlayerInfo[playerid][pPaytime]>=60)
    {
    if(WantedLevel[playerid]!=0)
    {
    WantedLevel[playerid]-=5;
    if(WantedLevel[playerid]<0)
    {
    WantedLevel[playerid]=0;
    }
    }
    }
    PlayerInfo[playerid][pPaytime]=0;
    SendClientMessage(playerid,COLOR_LIGHTBLUE,"|________Payday________|");
    PlayerUpdate(playerid);
    new abzuge[128],gehalt,bonus,zinsen;
    if(IsPlayerInFrac(playerid,5)||IsPlayerInFrac(playerid,6)||IsPlayerInFrac(playerid,8)||IsPlayerInFrac(playerid,12)||IsPlayerInFrac(playerid,13)||IsPlayerInFrac(playerid,14)||IsPlayerInFrac(playerid,15)||IsPlayerInFrac(playerid,16)||IsPlayerInFrac(playerid,17)||IsPlayerInFrac(playerid,18)||IsPlayerInFrac(playerid,20)||IsPlayerInFrac(playerid,21)||IsPlayerInFrac(playerid,23))
    {
    gehalt=15000;
    }
    else
    {
    if(PlayerInfo[playerid][Rank]>0)
    {
    new tprank=PlayerInfo[playerid][Rank];
    if(IsPlayerInFrac(playerid,1))
    {
    gehalt=tprank*lspdgehalt;
    new zusatz;
    zusatz=lspdgehalt/10*PlayerInfo[playerid][Subrank];
    gehalt+=zusatz;
    }
    else if(IsPlayerInFrac(playerid,2))
    {
    gehalt=tprank*fbigehalt;
    if(PlayerInfo[playerid][Rank]==0)
    {
    gehalt=floatround(0.5*fbigehalt,floatround_round);
    }
    }
    else if(IsPlayerInFrac(playerid,3))
    {
    gehalt=tprank*armygehalt;
    }
    else if(IsPlayerInFrac(playerid,4))
    {
    gehalt=tprank*medicgehalt;
    if(PlayerInfo[playerid][Rank]==0)
    {
    gehalt=floatround(0.5*medicgehalt,floatround_round);
    }
    }
    else if(IsPlayerInFrac(playerid,7))
    {
    if(PlayerInfo[playerid][Rank]==1)
    {
    gehalt=5150;
    }
    else if(PlayerInfo[playerid][Rank]==2)
    {
    gehalt=6600;
    }
    else if(PlayerInfo[playerid][Rank]==3)
    {
    gehalt=8150;
    }
    else if(PlayerInfo[playerid][Rank]==4)
    {
    gehalt=9700;
    }
    else if(PlayerInfo[playerid][Rank]==5)
    {
    gehalt=14700;
    }
    else if(PlayerInfo[playerid][Rank]==6)
    {
    gehalt=18500;
    }
    }
    else if(IsPlayerInFrac(playerid,19))
    {
    gehalt=tprank*1300;
    }
    else if(IsPlayerInFrac(playerid,24))
    {
    gehalt=tprank*oamtgehalt;
    }
    if(gehalt>40000)
    {
    gehalt=40000;
    }
    Staatskasse-=gehalt;
    }
    else
    {
    if(PlayerInfo[playerid][pALG]==1)
    {
    gehalt=staatsalg;
    Staatskasse-=gehalt;
    }
    else
    {
    gehalt=0;
    }
    }
    }
    if(gehalt>40000)
    {
    gehalt=40000;
    }
    new steuern=floatround(gehalt/10000*staatssteuern,floatround_round);
    bonus=GetPlayerScore(playerid)*40;
    new skosten=0;
    if(PlayerInfo[playerid][Handyvertrag]==1)
    {
    skosten+=24+(PlayerInfo[playerid][ptelefoniert]*2);
    }
    if(PlayerInfo[playerid][Handyflatrate]==1)
    {
    skosten+=90;
    }
    new ksteuern;
    if(PlayerInfo[playerid][pKirche]==1)
    {
    ksteuern=100;
    }
    PlayerInfo[playerid][ptelefoniert]=0;

    zinsen=PlayerInfo[playerid][pAccount]/10000+staatszinsen;
    if(PlayerInfo[playerid][pPremium]>0)
    {
    zinsen=zinsen*2;
    }

    format(abzuge,sizeof(abzuge),"Gehalt: %i$ Levelbonus: %i$",gehalt,bonus);
    SendClientMessage(playerid,COLOR_WHITE,abzuge);
    format(abzuge,sizeof(abzuge),"Steuern: %i$ Kirchensteuer: %d$",steuern,ksteuern);
    SendClientMessage(playerid,COLOR_WHITE,abzuge);
    format(abzuge,sizeof(abzuge),"Zinsen: %i$",zinsen);
    SendClientMessage(playerid,COLOR_WHITE,abzuge);
    format(abzuge,sizeof(abzuge),"Sonstige Kosten: %i$",skosten);
    SendClientMessage(playerid,COLOR_WHITE,abzuge);
    PlayerPlaySound(playerid,1068,0.0,0.0,0.0);
    SetTimerEx("stopsound",4000,0,"d",playerid);
    new betrag;
    betrag=gehalt-steuern+bonus+zinsen-skosten-ksteuern;
    new neu[128];
    format(neu,sizeof(neu),"Alter Kontostand: %i$",PlayerInfo[playerid][pAccount]);
    SendClientMessage(playerid,COLOR_WHITE,neu);
    format(neu,sizeof(neu),"Geänderter Betrag: %i$",betrag);
    SendClientMessage(playerid,COLOR_WHITE,neu);
    if(betrag>=0)
    {
    PlayerInfo[playerid][pAccount]+=betrag;
    }
    else
    {
    PlayerInfo[playerid][pAccount]-=betrag*-1;
    }
    if(PlayerInfo[playerid][pPremium]>0)
    {
    PlayerInfo[playerid][pExp]++;
    SendClientMessage(playerid,MrMonat,"Du bekommst doppelte Respektpunkte");
    }
    PlayerInfo[playerid][pExp]++;
    new konto[128];
    format(konto,sizeof(konto),"Neuer Kontostand: %i$",PlayerInfo[playerid][pAccount]);
    SendClientMessage(playerid,COLOR_LIGHTBLUE,konto);
    Staatskasse=steuern+skosten;
    Staatskasse=Staatskasse-zinsen;
    if(GetPVarInt(playerid,"willraus")==1)
    {
    PlayerInfo[playerid][pKirche]=0;
    SendClientMessage(playerid,COLOR_WHITE,"");
    format(string,sizeof(string),"Kirche: %s ist aus der Kirche ausgetreten.",SpielerName(playerid));
    SendClientMessage(playerid,Gruen,"Du bist mit diesem Payday aus der Kirche ausgetreten.");
    SendClientMessage(playerid,COLOR_WHITE,"");
    SetPVarInt(playerid,"willraus",0);
    }

    return 1;
    }


    Diese Funktion wird jede Minute geupdatet.


  • if(PlayerInfo[playerid][pPaytime]>=60)
    {
    if(WantedLevel[playerid]!=0)
    {
    WantedLevel[playerid]-=5;
    if(WantedLevel[playerid]<0)
    {
    WantedLevel[playerid]=0;
    }
    }
    }// Hier bin ich


    Da is die Klammer wieder zu, dann passiert es halt das es immer die Sachen danach macht!