Revol
Дебютант
Проблема вот в чём: Это я сам начал добавлять с 0 PayDay,exp и lvl, Пейдей выдаётся отлично, нет ошибок, но вот там пишет у вас опыта 12 из 12, а на следующий пейдей выдаёт новый лвл и exp чистит, а хотел бы как на аризоне, то есть когда должно будет 12 из 12, будет писать что получил новый лвл и exp чистит сразу, то есть 10 из 12, а на следующий пейдей сразу 0 из 15 и новый лвл.. Надеюсь всё понятно
Код:
forward PayDay();
public PayDay()
{
for(new i=0;i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i))
{
new exp = Player[i][pExp];
new nextlvl = Player[i][pLevel]+1;
new expmount = nextlvl*lvlexp;
Player[i][pExp]++;
if(exp == expmount)
{
Player[i][pLevel]+=1;
Player[i][pExp] = 0;
SCM(i, 0xC2A2DAAA, "Ваш уровень повысился..Поздравляем..");
}
new str[40],pdmoney,Float:proc,upchet;
SCM(i,-1,"|_______________{474AFC}Состояние вашего Банковского Счета{FFFFFF}_______________|");
if(Player[i][pMember]>=20)
{
if(Player[i][pLeader]>=20)
{
PlayerPayDay(i,LeaderPayDay[Player[i][pLeader]][lpdLeaderPadDay]);
pdmoney=LeaderPayDay[Player[i][pLeader]][lpdLeaderPadDay];
}
else
{
if(GetResultPD(Player[i][pMember],Player[i][pGroup],Player[i][pRank])>0)
{
PlayerPayDay(i,GetResultPD(Player[i][pMember],Player[i][pGroup],Player[i][pRank]));
pdmoney=GetResultPD(Player[i][pMember],Player[i][pGroup],Player[i][pRank]);
}
}
}
switch(Player[i][pVip])
{
case 1:proc=0.03;
case 2:proc=0.05;
case 3:proc=0.10;
case 4:proc=0.15;
default:proc=0.01;
}
upchet=(Player[i][pDeposit]/100)*floatround(proc, floatround_round);
format(str,sizeof(str),"Зарплата: $%i",pdmoney);
SCM(i,0xD4D3D1FF,str);str="";
format(str,sizeof(str),"Расчетный счет: $%i",Player[i][pPayDay]);
SCM(i,0xD4D3D1FF,str);str="";
format(str,sizeof(str),"Счет в банке: $%i",Player[i][pBank]);
SCM(i,0xD4D3D1FF,str);str="";
format(str,sizeof(str),"Счет на депозите: $%i",Player[i][pDeposit]);
SCM(i,0xD4D3D1FF,str);str="";
format(str,sizeof(str),"Процент депозитного счета: %.2f",proc);
SCM(i,0xD4D3D1FF,str);str="";
format(str,sizeof(str),"Начислено на депозит: $%i",upchet);
SCM(i,0xD4D3D1FF,str);
format(str,sizeof(str),"Опыт: %d / %d", Player[i][pExp], expmount);
SCM(i,0xD4D3D1FF,str);
SCM(i,-1,"|________________________________________________________________________________|");
format(str, sizeof(str), "~y~PAYDAY");
GameTextForPlayer(i, str, 3000, 1);
Player[i][pDeposit]+=upchet;
SavePlayer(i,Depositx);
SavePlayer(i,Expx);
SavePlayer(i,Levelx);
SavePlayer(i,PayDayx);
}
}return 1;
}
