Problema com PayDay -
pWesley - 05.01.2018
Toda vez que da PayDay no meu servidor, algumas pessoas acabam nгo recebendo. Cуdigo:
Код:
function::PayDay()
{
ResetSeq();
new interest, rent = 0;
foreach(Player, i)
{
SetPVarInt(i, #VarFlood1, 0);
SetPVarInt(i, #VarFlood2, 0);
SetPVarInt(i, #VarFlood3, 0);
SetPVarInt(i, #VarFlood4, 0);
SetPVarInt(i, #VarFlood5, 0);
SetPVarInt(i, #VarFlood6, 0);
SetPVarInt(i, #VarFlood7, 0);
SetPVarInt(i, #VarFlood8, 0);
SetPVarInt(i, #VarFlood9, 0);
if(!APlayerData[i][pLogado])
continue;
if(APlayerData[i][pPayDay] < 3)
return SendClientMessage(i, COLOR_LIGHTRED, "* Vocк nгo jogou tempo suficiente para receber salбrio!");
if(MoneyMessage[i] == 1)
{
SendClientMessage(i, COLOR_LIGHTRED, "Vocк nгo pagou sua divida e foi preso.");
GameTextForPlayer(i, "~r~Preso!", 2000, 1);
SetPlayerInterior(i, 6);
SetPlayerPos(i, 264.6288,77.5742,1001.0391);
APlayerData[i][pJailed] = 1;
ResetPlayerWeapons(i);
SetPlayerWantedLevelEx(i, 0);
WantedPoints[i] = 0;
APlayerData[i][pJailTime] = 240;
SendFormatedMessage(i, COLOR_LIGHTBLUE, "Vocк foi preso por %d segundos. Fianca: Desabilitada", APlayerData[i][pJailTime]);
}
new tmpinrate, respect;
new checks = random(4999)+4999;
new ebill = APlayerData[i][pLevel] * 100;
new exp = APlayerData[i][pExp]+respect;
new nxtlevel = APlayerData[i][pLevel]+1;
new expquantidade = nxtlevel * levelexp;
GivePlayerMoneyEx(i, checks);
GivePlayerMoneyEx(i, -TaxValue);
DepositarGranaOrg(6, TaxValue);
switch(APlayerData[i][pVIP])
{
case 0: tmpinrate = 4, respect = 1, APlayerData[i][pExp]++;
case 1: tmpinrate = 8, respect = 2, APlayerData[i][pExp] += 2;
case 2: tmpinrate = 12, respect = 4, APlayerData[i][pExp] += 4;
}
interest = (APlayerData[i][pBank]/2630)*(tmpinrate);
APlayerData[i][pBank] += interest;
SendClientMessage(i, COLOR_WHITE, "(--------- Pagamento ---------)");
SendFormatedMessage(i, COLOR_GRAD1, " Salбrio: R$%s Imposto: R$%s", Comma(checks), Comma(TaxValue));
SendClientMessage(i, COLOR_GRAD1, " Mйdico: -R$300");
if(APlayerData[i][pHouseKey] != 500 || APlayerData[i][pBizzKey] != 255)
{
GivePlayerMoneyEx(i, -ebill);
SBizzInfo[i][sbTill] += ebill;
SendFormatedMessage(i, COLOR_GRAD1, " Energia: -R$%s", Comma(ebill));
}
SendFormatedMessage(i, COLOR_GRAD1, " Juros: 0.%d por cento", (tmpinrate/4));
SendFormatedMessage(i, COLOR_GRAD1, " Rendimento: +R$%s Respeito: +%d (%d/%d)", Comma(interest), respect, exp, expquantidade);
SendClientMessage(i, COLOR_WHITE, "(-----------------------------)");
SendFormatedMessage(i, COLOR_GRAD1, " Saldo bancбrio: %s%s", APlayerData[i][pBank] > 1 ? ("R$") : ("-R$"), Comma(APlayerData[i][pBank]));
SendFormatedMessage(i, COLOR_GRAD1, " Aluguel: R$%s", Comma(rent));
GameTextForPlayer(i, "~p~Pagamento~n~ ~w~Salario", 5000, 1);
APlayerData[i][pPayDay] = 0;
APlayerData[i][pGiftBox] = 0;
APlayerData[i][pConnectTime]++;
if(APlayerData[i][pJob] > 0 && APlayerData[i][pContractTime] < 5)
APlayerData[i][pContractTime]++;
}
Checkproop();
ContratoAleatorio();
return true;
}
Re: Problema com PayDay -
Marllun - 06.01.2018
Deve ser algum if faz um debug de tudo
Re: Problema com PayDay -
SammyJ - 06.01.2018
Код:
function::PayDay()
{
ResetSeq();
new interest, rent = 0;
foreach(Player, i)
{
SetPVarInt(i, #VarFlood1, 0);
SetPVarInt(i, #VarFlood2, 0);
SetPVarInt(i, #VarFlood3, 0);
SetPVarInt(i, #VarFlood4, 0);
SetPVarInt(i, #VarFlood5, 0);
SetPVarInt(i, #VarFlood6, 0);
SetPVarInt(i, #VarFlood7, 0);
SetPVarInt(i, #VarFlood8, 0);
SetPVarInt(i, #VarFlood9, 0);
if(!APlayerData[i][pLogado])
continue;
if(APlayerData[i][pPayDay] < 3)
return SendClientMessage(i, COLOR_LIGHTRED, "* Vocк nгo jogou tempo suficiente para receber salбrio!");
if(MoneyMessage[i] == 1)
{
SendClientMessage(i, COLOR_LIGHTRED, "Vocк nгo pagou sua divida e foi preso.");
GameTextForPlayer(i, "~r~Preso!", 2000, 1);
SetPlayerInterior(i, 6);
SetPlayerPos(i, 264.6288,77.5742,1001.0391);
APlayerData[i][pJailed] = 1;
ResetPlayerWeapons(i);
SetPlayerWantedLevelEx(i, 0);
WantedPoints[i] = 0;
APlayerData[i][pJailTime] = 240;
SendFormatedMessage(i, COLOR_LIGHTBLUE, "Vocк foi preso por %d segundos. Fianca: Desabilitada", APlayerData[i][pJailTime]);
}
new tmpinrate, respect;
new checks = random(4999)+4999;
new ebill = APlayerData[i][pLevel] * 100;
new exp = APlayerData[i][pExp]+respect;
new nxtlevel = APlayerData[i][pLevel]+1;
new expquantidade = nxtlevel * levelexp;
GivePlayerMoneyEx(i, checks);
GivePlayerMoneyEx(i, -TaxValue);
DepositarGranaOrg(6, TaxValue);
switch(APlayerData[i][pVIP])
{
case 0: tmpinrate = 4, respect = 1, APlayerData[i][pExp]++;
case 1: tmpinrate = 8, respect = 2, APlayerData[i][pExp] += 2;
case 2: tmpinrate = 12, respect = 4, APlayerData[i][pExp] += 4;
}
interest = (APlayerData[i][pBank]/2630)*(tmpinrate);
APlayerData[i][pBank] += interest;
SendClientMessage(i, COLOR_WHITE, "(--------- Pagamento ---------)");
SendFormatedMessage(i, COLOR_GRAD1, " Salбrio: R$%s Imposto: R$%s", Comma(checks), Comma(TaxValue));
SendClientMessage(i, COLOR_GRAD1, " Mйdico: -R$300");
if(APlayerData[i][pHouseKey] != 500 || APlayerData[i][pBizzKey] != 255)
{
GivePlayerMoneyEx(i, -ebill);
SBizzInfo[i][sbTill] += ebill;
SendFormatedMessage(i, COLOR_GRAD1, " Energia: -R$%s", Comma(ebill));
}
SendFormatedMessage(i, COLOR_GRAD1, " Juros: 0.%d por cento", (tmpinrate/4));
SendFormatedMessage(i, COLOR_GRAD1, " Rendimento: +R$%s Respeito: +%d (%d/%d)", Comma(interest), respect, exp, expquantidade);
SendClientMessage(i, COLOR_WHITE, "(-----------------------------)");
SendFormatedMessage(i, COLOR_GRAD1, " Saldo bancбrio: %s%s", APlayerData[i][pBank] > 1 ? ("R$") : ("-R$"), Comma(APlayerData[i][pBank]));
SendFormatedMessage(i, COLOR_GRAD1, " Aluguel: R$%s", Comma(rent));
GameTextForPlayer(i, "~p~Pagamento~n~ ~w~Salario", 5000, 1);
APlayerData[i][pPayDay] = 0;
APlayerData[i][pGiftBox] = 0;
APlayerData[i][pConnectTime]++;
if(APlayerData[i][pJob] > 0 && APlayerData[i][pContractTime] < 5)
APlayerData[i][pContractTime]++;
}
Checkproop();
ContratoAleatorio();
return true;
}
Troque a parte marcada em vermelho por
PHP код:
if(APlayerData[i][pPayDay] < 3)
SendClientMessage(i, COLOR_LIGHTRED, "* Vocк nгo jogou tempo suficiente para receber salбrio!"),continue;
O return faz o loop parar. O continue faz o loop voltar para o inicio.
Re: Problema com PayDay -
pWesley - 06.01.2018
Verdade. Pior que agora resolveu. Obrigado aн.