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!");
}
}