Payday Bug

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,
    Bei mir taucht seit einiger Zeit ein Payday-Bug auf. Manche Spieler bekommen den Payday und manche bekommen nur das Gehalt, aber es wird kein Payday angezeigt bzw. bekommen sie keine Respektpunkte.
    Payday-Code:
    if(IsPlayerConnected(i))
    {
    PlayerInfo[i][pGesamtMinutes]++;
    PlayerInfo[i][pMinutesSinceLogin]++;
    PlayerInfo[i][pMinutesSinceAn]++;
    if(PlayerInfo[i][pPlayMinutes] <= 60)
    {
    PlayerInfo[i][pPlayMinutes]++;
    }
    if(PlayerInfo[i][pPlayMinutes] >= 60)
    {
    PlayerInfo[i][pPlayMinutes] = 0;
    new string[128];
    new account,interest;
    new rent = 0;
    if(IsPlayerConnected(i))
    {
    if(M_Bot[i][PAFK] == 0)
    {
    if(MoneyMessage[i]==1)
    {
    if(PlayerInfo[i][pJailed] == 0 && WantedLevel[i] >= 0)
    {
    SendClientMessage(i, COLOR_LIGHTRED, "Du konntest deine Schulden nicht Bezahlen und hast ein Wanted bekommen!");
    GivePlayerMoney(i, 1000);
    WantedLevel[i]++;
    }
    else if(PlayerInfo[i][pJailed] == 1)
    {
    SendClientMessage(i, COLOR_LIGHTRED, "Du bist in den Schulden und musst 3 Minuten länger sitzen!");
    PlayerInfo[i][pJailTime] += 180;
    GivePlayerMoney(i, 1000);
    }
    }
    new playername2[MAX_PLAYER_NAME];
    GetPlayerName(i, playername2, sizeof(playername2));
    account = PlayerInfo[i][pAccount];
    new key = PlayerInfo[i][pPhousekey];
    if(key != 255)
    {
    rent = HouseInfo[key][hRent];
    if(strcmp(playername2, HouseInfo[key][hOwner], true) == 0)
    {
    rent = 0;
    }
    else if(rent > GetPlayerMoney(i))
    {
    PlayerInfo[i][pPhousekey] = 255;
    SendClientMessage(i, COLOR_WHITE, "Du wurdest aus der Wohnung geschmissen!");
    rent = 0;
    }
    HouseInfo[key][hTakings] = HouseInfo[key][hTakings]+rent;
    }
    new tmpintrate;
    if (key != 255 && strcmp(playername2, HouseInfo[key][hOwner], true) == 0)
    {
    if(PlayerInfo[i][pDonateRank] > 0)
    {
    tmpintrate = intrate+4;
    }
    else
    {
    tmpintrate = intrate+2;
    }//HouseInfo[key][hLevel]
    }
    else
    {
    if(PlayerInfo[i][pDonateRank] > 0)
    {
    tmpintrate = 3;
    }
    else
    {
    tmpintrate = 1;
    }
    }
    if(PlayerInfo[i][pPbiskey] > 0)
    {
    tmpintrate++;
    }
    new fraktion = 0;
    new checks;
    if(PlayerInfo[i][pMember] > 0) fraktion = PlayerInfo[i][pMember] - 1;
    if(PlayerInfo[i][pLeader] > 0) fraktion = PlayerInfo[i][pLeader] - 1;
    if(fraktion >= 0)
    {
    if(FraktionsKasse[fraktion] - PlayerInfo[i][pGehalt] < 0)
    {
    checks = 0;
    GivePlayerMoney(i, checks);
    }
    else if(FraktionsKasse[fraktion] - PlayerInfo[i][pGehalt] >= 0)
    {
    checks = PlayerInfo[i][pGehalt];
    GivePlayerMoney(i, checks);
    FraktionsKasse[fraktion] -= checks;
    }
    }
    else if(PlayerInfo[i][pJob] != 0 || PlayerInfo[i][pMember] == 0 || PlayerInfo[i][pLeader] == 0)
    {
    checks = 500;
    GivePlayerMoney(i, checks);
    }//Should work for every player online
    PlayerInfo[i][pAccount] -= Tax;
    new ehouse = PlayerInfo[i][pPhousekey];
    if(PlayerInfo[i][pDonateRank] > 0)
    {
    new bonus = PlayerInfo[i][pPayCheck] / 2;
    PlayerInfo[i][pPayCheck] += bonus;
    }
    new ebill;
    if(HouseInfo[ehouse][hOwned] == 1)
    {
    ebill = 300;
    }
    else
    {
    ebill = 0;
    }
    //new oil = (PlayerInfo[i][pPhousekey]*100);
    ConsumingMoney[i] = 1;
    if(PlayerInfo[i][pAccount] > 0)
    {
    GivePlayerMoney(i, -ebill);
    SBizzInfo[3][sbTill] += ebill;
    }
    else
    {
    ebill = 0;
    }
    interest = (PlayerInfo[i][pAccount]/1000)*(tmpintrate);
    //PlayerInfo[i][pExp]++;
    PlayerPlayMusic(i);
    PlayerInfo[i][pAccount] = account+interest;
    SendClientMessage(i, COLOR_YELLOW, "|================| Payday |================|");
    format(string, sizeof(string), " Gehalt: $%d Miete: -$%d Steuern: -$%d", checks, rent, Tax);
    SendClientMessage(i, COLOR_GRAD1, string);
    if(PlayerInfo[i][pPhousekey] != 255 || PlayerInfo[i][pPbiskey] != 255)
    {
    format(string, sizeof(string), " Strom Kosten: -$%d", ebill);
    SendClientMessage(i, COLOR_GRAD1, string);
    }
    if(PlayerInfo[i][pHandyVer] == 1)
    {
    SendClientMessage(i,COLOR_GRAD2," Handyvertragskosten: -$100");
    GivePlayerMoney(i, -100);
    }
    if(PlayerInfo[i][pDonateRank] >= 1)
    {
    PlayerInfo[i][pExp]++;
    PlayerInfo[i][pExp]++;
    PlayerInfo[i][pExp]++;
    SendClientMessage(i, COLOR_GRAD1, "Du hast 3 Respektpunkte erhalten.");
    }
    else {
    PlayerInfo[i][pExp]++;
    SendClientMessage(i, COLOR_GRAD1, "Du hast 1 Respektpunkt erhalten.");
    }
    if(PlayerInfo[i][pPlayerKreditDauer] > 0)
    {
    PlayerInfo[i][pAccount] -= PlayerInfo[i][pPlayerKredit];
    PlayerInfo[i][pPlayerKreditDauer]--;
    format(string, sizeof(string), " Kreditrate: -%d", PlayerInfo[i][pPlayerKredit]);
    SendClientMessage(i, COLOR_GRAD1, string);
    }
    format(string, sizeof(string), " Zinsen: $%d [0.%d Prozent]", interest,tmpintrate);
    SendClientMessage(i, COLOR_GRAD2, string);
    SendClientMessage(i, COLOR_YELLOW, "|=================||============||==============|");
    format(string, sizeof(string), " Neuer Kontostand: $%d", PlayerInfo[i][pAccount]);
    SendClientMessage(i, COLOR_GRAD5, string);
    format(string, sizeof(string), "~g~Zahltag~y~!!!");
    GameTextForPlayer(i, string, 5000, 1);
    if(checks == 0 && FrakMember(i) && PlayerInfo[i][pJob] == 0)
    {
    SendClientMessage(i,COLOR_LIGHTRED, "{FF9600} Imagine Roleplay Fraktions Kasse Meldet : {00FF8C}Deine Fraktion hat leider kein Geld mehr in der Kasse Bitte Melde es Deinem Leader ( Du hast kein lohn Bekommen! ) ");
    SendClientMessage(i,COLOR_LIGHTRED, "{FF9600} Imagine Roleplay Fraktions Kasse Meldet : {00FF8C}Dein Leader Soll dir Lohn Geben oder die Kasse Wieder Auffüllen.");
    }
    rent = 0;
    PlayerInfo[i][pPayCheck] = 0;
    PlayerInfo[i][pConnectTime] += 1;
    if(PlayerInfo[i][pZollPassTime] >= 25)
    {
    PlayerInfo[i][pZollPass] = 0;
    PlayerInfo[i][pZollPassTime] = 0;
    format(string, sizeof(string), "* Dein Zollpass ist nun nicht mehr gültig und vom Staat als ungültig anerkannt.");
    SendClientMessage(i, COLOR_LIGHTRED, string);
    }
    if(PlayerInfo[i][pZollPass] == 1)
    {
    PlayerInfo[i][pZollPassTime] += 1;
    format(string, sizeof(string), "* Du nutzt deinen Zollpass nun schon seit %d PayDays.", PlayerInfo[i][pZollPassTime]);
    SendClientMessage(i, COLOR_LIGHTBLUE, string);
    }
    if(WantedLevel[i] >= 1)
    {
    WantedLevel[i] --;
    new wlevel;
    wlevel = GetPlayerWantedLevel(i);
    new tmp[64];
    format(tmp,sizeof(tmp), "Aktuelles Wantedlevel:{FF9600} %i", wlevel-1);
    SendClientMessage(i, 0xFAFAFAFF,tmp);
    }
    if(PlayerInfo[i][pDonateRank] > 0)
    {
    PlayerInfo[i][pPayDayHad] += 1;
    if(PlayerInfo[i][pPayDayHad] >= 5)
    {
    PlayerInfo[i][pExp]++;
    PlayerInfo[i][pPayDayHad] = 0;
    }
    }
    }
    else
    {
    SendClientMessage(i, COLOR_LIGHTRED, "* Du hast kannst keinen PayDay bekommen, solange du AFK bist!");
    }
    }
    }
    if(KnastTime[i] > 0)
    {
    KnastTime[i]--;
    }
    if(KnastTime[i] == 0 && Knast[i] > 0)
    {
    Knast[i] = 0;
    KnastTime[i] = 0;
    SpawnPlayer(i);
    SendClientMessage(i,COLOR_YELLOW," Benimm dich ab jetzt, oder ein Admin wird dich wieder einsperren!");
    }
    }

  • //PlayerInfo[i][pExp]++;


    Warum?,.. ^^


    Denke das ist der Grund..^^


    Du hast EXP Nur für donator gemacht.


    e//
    if(IsPlayerConnected(i))
    {
    PlayerInfo[i][pGesamtMinutes]++;
    PlayerInfo[i][pMinutesSinceLogin]++;
    PlayerInfo[i][pMinutesSinceAn]++;
    if(PlayerInfo[i][pPlayMinutes] <= 60)
    {
    PlayerInfo[i][pPlayMinutes]++;
    }
    if(PlayerInfo[i][pPlayMinutes] >= 60)
    {
    PlayerInfo[i][pPlayMinutes] = 0;
    new string[128];
    new account,interest;
    new rent = 0;
    if(IsPlayerConnected(i))
    {
    if(M_Bot[i][PAFK] == 0)
    {
    if(MoneyMessage[i]==1)
    {
    if(PlayerInfo[i][pJailed] == 0 && WantedLevel[i] >= 0)
    {
    SendClientMessage(i, COLOR_LIGHTRED, "Du konntest deine Schulden nicht Bezahlen und hast ein Wanted bekommen!");
    GivePlayerMoney(i, 1000);
    WantedLevel[i]++;
    }
    else if(PlayerInfo[i][pJailed] == 1)
    {
    SendClientMessage(i, COLOR_LIGHTRED, "Du bist in den Schulden und musst 3 Minuten länger sitzen!");
    PlayerInfo[i][pJailTime] += 180;
    GivePlayerMoney(i, 1000);
    }
    }
    new playername2[MAX_PLAYER_NAME];
    GetPlayerName(i, playername2, sizeof(playername2));
    account = PlayerInfo[i][pAccount];
    new key = PlayerInfo[i][pPhousekey];
    if(key != 255)
    {
    rent = HouseInfo[key][hRent];
    if(strcmp(playername2, HouseInfo[key][hOwner], true) == 0)
    {
    rent = 0;
    }
    else if(rent > GetPlayerMoney(i))
    {
    PlayerInfo[i][pPhousekey] = 255;
    SendClientMessage(i, COLOR_WHITE, "Du wurdest aus der Wohnung geschmissen!");
    rent = 0;
    }
    HouseInfo[key][hTakings] = HouseInfo[key][hTakings]+rent;
    }
    new tmpintrate;
    if (key != 255 && strcmp(playername2, HouseInfo[key][hOwner], true) == 0)
    {
    if(PlayerInfo[i][pDonateRank] > 0)
    {
    tmpintrate = intrate+4;
    }
    else
    {
    tmpintrate = intrate+2;
    }//HouseInfo[key][hLevel]
    }
    else
    {
    if(PlayerInfo[i][pDonateRank] > 0)
    {
    tmpintrate = 3;
    }
    else
    {
    tmpintrate = 1;
    }
    }
    if(PlayerInfo[i][pPbiskey] > 0)
    {
    tmpintrate++;
    }
    new fraktion = 0;
    new checks;
    if(PlayerInfo[i][pMember] > 0) fraktion = PlayerInfo[i][pMember] - 1;
    if(PlayerInfo[i][pLeader] > 0) fraktion = PlayerInfo[i][pLeader] - 1;
    if(fraktion >= 0)
    {
    if(FraktionsKasse[fraktion] - PlayerInfo[i][pGehalt] < 0)
    {
    checks = 0;
    GivePlayerMoney(i, checks);
    }
    else if(FraktionsKasse[fraktion] - PlayerInfo[i][pGehalt] >= 0)
    {
    checks = PlayerInfo[i][pGehalt];
    GivePlayerMoney(i, checks);
    FraktionsKasse[fraktion] -= checks;
    }
    }
    else if(PlayerInfo[i][pJob] != 0 || PlayerInfo[i][pMember] == 0 || PlayerInfo[i][pLeader] == 0)
    {
    checks = 500;
    GivePlayerMoney(i, checks);
    }//Should work for every player online
    PlayerInfo[i][pAccount] -= Tax;
    new ehouse = PlayerInfo[i][pPhousekey];
    if(PlayerInfo[i][pDonateRank] > 0)
    {
    new bonus = PlayerInfo[i][pPayCheck] / 2;
    PlayerInfo[i][pPayCheck] += bonus;
    }
    new ebill;
    if(HouseInfo[ehouse][hOwned] == 1)
    {
    ebill = 300;
    }
    else
    {
    ebill = 0;
    }
    //new oil = (PlayerInfo[i][pPhousekey]*100);
    ConsumingMoney[i] = 1;
    if(PlayerInfo[i][pAccount] > 0)
    {
    GivePlayerMoney(i, -ebill);
    SBizzInfo[3][sbTill] += ebill;
    }
    else
    {
    ebill = 0;
    }
    interest = (PlayerInfo[i][pAccount]/1000)*(tmpintrate);
    PlayerInfo[i][pExp]++;
    PlayerPlayMusic(i);
    PlayerInfo[i][pAccount] = account+interest;
    SendClientMessage(i, COLOR_YELLOW, "|================| Payday |================|");
    format(string, sizeof(string), " Gehalt: $%d Miete: -$%d Steuern: -$%d", checks, rent, Tax);
    SendClientMessage(i, COLOR_GRAD1, string);
    if(PlayerInfo[i][pPhousekey] != 255 || PlayerInfo[i][pPbiskey] != 255)
    {
    format(string, sizeof(string), " Strom Kosten: -$%d", ebill);
    SendClientMessage(i, COLOR_GRAD1, string);
    }
    if(PlayerInfo[i][pHandyVer] == 1)
    {
    SendClientMessage(i,COLOR_GRAD2," Handyvertragskosten: -$100");
    GivePlayerMoney(i, -100);
    }
    if(PlayerInfo[i][pDonateRank] >= 1)
    {
    PlayerInfo[i][pExp]++;
    PlayerInfo[i][pExp]++;
    PlayerInfo[i][pExp]++;
    SendClientMessage(i, COLOR_GRAD1, "Du hast 3 Respektpunkte erhalten.");
    }
    else {
    PlayerInfo[i][pExp]++;
    SendClientMessage(i, COLOR_GRAD1, "Du hast 1 Respektpunkt erhalten.");
    }
    if(PlayerInfo[i][pPlayerKreditDauer] > 0)
    {
    PlayerInfo[i][pAccount] -= PlayerInfo[i][pPlayerKredit];
    PlayerInfo[i][pPlayerKreditDauer]--;
    format(string, sizeof(string), " Kreditrate: -%d", PlayerInfo[i][pPlayerKredit]);
    SendClientMessage(i, COLOR_GRAD1, string);
    }
    format(string, sizeof(string), " Zinsen: $%d [0.%d Prozent]", interest,tmpintrate);
    SendClientMessage(i, COLOR_GRAD2, string);
    SendClientMessage(i, COLOR_YELLOW, "|=================||============||==============|");
    format(string, sizeof(string), " Neuer Kontostand: $%d", PlayerInfo[i][pAccount]);
    SendClientMessage(i, COLOR_GRAD5, string);
    format(string, sizeof(string), "~g~Zahltag~y~!!!");
    GameTextForPlayer(i, string, 5000, 1);
    if(checks == 0 && FrakMember(i) && PlayerInfo[i][pJob] == 0)
    {
    SendClientMessage(i,COLOR_LIGHTRED, "{FF9600} Imagine Roleplay Fraktions Kasse Meldet : {00FF8C}Deine Fraktion hat leider kein Geld mehr in der Kasse Bitte Melde es Deinem Leader ( Du hast kein lohn Bekommen! ) ");
    SendClientMessage(i,COLOR_LIGHTRED, "{FF9600} Imagine Roleplay Fraktions Kasse Meldet : {00FF8C}Dein Leader Soll dir Lohn Geben oder die Kasse Wieder Auffüllen.");
    }
    rent = 0;
    PlayerInfo[i][pPayCheck] = 0;
    PlayerInfo[i][pConnectTime] += 1;
    if(PlayerInfo[i][pZollPassTime] >= 25)
    {
    PlayerInfo[i][pZollPass] = 0;
    PlayerInfo[i][pZollPassTime] = 0;
    format(string, sizeof(string), "* Dein Zollpass ist nun nicht mehr gültig und vom Staat als ungültig anerkannt.");
    SendClientMessage(i, COLOR_LIGHTRED, string);
    }
    if(PlayerInfo[i][pZollPass] == 1)
    {
    PlayerInfo[i][pZollPassTime] += 1;
    format(string, sizeof(string), "* Du nutzt deinen Zollpass nun schon seit %d PayDays.", PlayerInfo[i][pZollPassTime]);
    SendClientMessage(i, COLOR_LIGHTBLUE, string);
    }
    if(WantedLevel[i] >= 1)
    {
    WantedLevel[i] --;
    new wlevel;
    wlevel = GetPlayerWantedLevel(i);
    new tmp[64];
    format(tmp,sizeof(tmp), "Aktuelles Wantedlevel:{FF9600} %i", wlevel-1);
    SendClientMessage(i, 0xFAFAFAFF,tmp);
    }
    if(PlayerInfo[i][pDonateRank] > 0)
    {
    PlayerInfo[i][pPayDayHad] += 1;
    if(PlayerInfo[i][pPayDayHad] >= 5)
    {
    PlayerInfo[i][pExp]++;
    PlayerInfo[i][pPayDayHad] = 0;
    }
    }
    }
    else
    {
    SendClientMessage(i, COLOR_LIGHTRED, "* Du hast kannst keinen PayDay bekommen, solange du AFK bist!");
    }
    }
    }
    if(KnastTime[i] > 0)
    {
    KnastTime[i]--;
    }
    if(KnastTime[i] == 0 && Knast[i] > 0)
    {
    Knast[i] = 0;
    KnastTime[i] = 0;
    SpawnPlayer(i);
    SendClientMessage(i,COLOR_YELLOW," Benimm dich ab jetzt, oder ein Admin wird dich wieder einsperren!");
    }
    }


    e3//
    Ich weiß nicht obs dran liegt


    arbeite so eher an DM Viel erfolg troz ! 8)