07.03.2015, 10:47
Всем привет.
В моде обнаружил проблему, каждый PayDay происходит флуд в чат игроку у которого есть бизнес, соответственно поэтому поднимается очень сильна нагрузка на оперативную память, но через секунд 10-20 после PayDay нормализуется.
Помогите решить флуд, код:
Строки которые флудят:
и
В моде обнаружил проблему, каждый PayDay происходит флуд в чат игроку у которого есть бизнес, соответственно поэтому поднимается очень сильна нагрузка на оперативную память, но через секунд 10-20 после PayDay нормализуется.
Помогите решить флуд, код:
PHP код:
stock PayDay()
{
for(new i =0;i<sizeof(VladGzone);i++) VladGzone[i] = 0;
for(new i =0;i<sizeof(GZInfo);i++)
{
switch(GZInfo[i][gFrakVlad])
{
case 12: VladGzone[0] +=1;
case 13: VladGzone[1] +=1;
case 15: VladGzone[2] +=1;
case 17: VladGzone[3] +=1;
case 18: VladGzone[4] +=1;
}
}
for(new f = 0; f < sizeof(FrakCD); f++)
{
if(FrakCD[f] > 0)
{
if(FracVoina[f] != 1)
{
FrakCD[f]--;
}
}
}
/////////
PlayerForeach(i)
{
if(PlayerInfo[i][pWanted] >= 1)
{
WantedLevel[i] -= 1;
PlayerInfo[i][pWanted] -=1;
SetPlayerWantedLevel(i, PlayerInfo[i][pWanted]);
}
new exp = PlayerInfo[i][pExp];
new nxtlevel = PlayerInfo[i][pLevel]+1;
new expamount = nxtlevel*levelexp;
if(exp >= expamount)
{
PlayerInfo[i][pLevel] += 1;
PlayerInfo[i][pExp] = 0;
SendClientMessage(i, COLOR_GREEN, "Поздравляем! Ваш IC возраст был повышен. Удачной игры.");
}
if(armmatbi < 0) armmatbi = 0;
else if(armmatsf < 0) armmatsf = 0;
else if(kazna < 0) kazna = 0;
else if(lspdmatbi < 0) lspdmatbi = 1000;
else if(sfpdmats < 0) sfpdmats = 1000;
else if(lvpdmats < 0) lvpdmats = 1000;
else if(fbimats < 0) fbimats = 1000;
else if(yakuzamats < 0) yakuzamats = 1000;
else if(rmmats < 0) rmmats = 1000;
else if(lcnmats < 0) lcnmats = 1000;
else if(rifamatbi < 0) rifamatbi = 1000;
else if(ballasmatbi < 0) ballasmatbi = 1000;
else if(groovmatbi < 0) groovmatbi = 1000;
else if(vagosmatbi < 0) vagosmatbi = 1000;
else if(aztekmatbi < 0) aztekmatbi = 1000;
new moneys = 1+random(10000);
new moneyse = 1000+random(5000);
switch(PlayerInfo[i][pMember])
{
case 1,10,21,25:{ PlayerInfo[i][pPayCheck] += 2000*PlayerInfo[i][pRank]+moneys; } // ЗП полиции, 2к умноженое на ранг + рандомные цифры
case 3,19:{ PlayerInfo[i][pPayCheck] += 1500*PlayerInfo[i][pRank]+moneys; } // Зп армии, 1.5к умноженое на ранг + рандомные цифры
case 2:{ PlayerInfo[i][pPayCheck] += 3000*PlayerInfo[i][pRank]+moneys; } // Зп ФБР, 3к умноженое на ранг + рандомные цифры
case 7,26:{ PlayerInfo[i][pPayCheck] += 4000*PlayerInfo[i][pRank]+moneys; } // Зп Мэрия, 4к умноженое на ранг + рандомные цифры
case 4,22,16:{ PlayerInfo[i][pPayCheck] += 4000*PlayerInfo[i][pRank]+moneys; } // Зп МинЗдрав, 4к умноженое на ранг + рандомные цифры
case 11:{ PlayerInfo[i][pPayCheck] += 1000*PlayerInfo[i][pRank]+moneys; } // Зп инструкторов, 1к умноженое на ранг + рандомные цифры
case 27:{ PlayerInfo[i][pPayCheck] += 10000*PlayerInfo[i][pRank]+moneyse; } // Зп Казино, 10к умноженое на ранг + рандомные цифры
}
PlayerInfo[i][pExp]++;
new checks = PlayerInfo[i][pPayCheck];
if(PlayerInfo[i][pDonateRank] >= 1) SendClientMessage(i, 0xeac700aa, "--------===[ VIP КЛИЕНТ БАНКА SA ]===-------");
else SendClientMessage(i, COLOR_GRAD1, "----------===[ КЛИЕНТ БАНКА SA ]===---------");
if(PlayerInfo[i][pDonateRank] >= 1)
{
SendMes(i, -1, " Налог государству {c4f500}-%d $", nalog);
PlayerInfo[i][pBank] -= nalog;
kazna +=nalog;
SendMes(i, -1, " Услуги телефонии: {c4f500}-%d $",PlayerInfo[i][pMobile]);
SendMes(i, -1, " Зарплата: {c4f500}%d $", checks);
PlayerInfo[i][pBank] += checks;
SendMes(i, -1, " Ваш баланс: {c4f500}%d $", PlayerInfo[i][pBank]);
PlayerInfo[i][pZakonp] += 1;
PlayerInfo[i][pBank] += PlayerInfo[i][pMobile];
PlayerInfo[i][pMobile] = 0;
PlayerInfo[i][pVipRespect]++;
if(PlayerInfo[i][pVipRespect] == 3)
{
PlayerInfo[i][pExp]++;
PlayerInfo[i][pVipRespect] = 0;
SendClientMessage(i, COLOR_LIGHTBLUE, "Вы получили дополнительный Респект, за счет VIP Аккаунта.");
}
kazna +=1000;
}
else
{
SendMes(i,0xFF8C37AA," Счет за телефон: -%d вирт",PlayerInfo[i][pMobile]);
SendClientMessage(i, -1, " ");
SendMes(i,-1," Зарплата: %d вирт", checks);
PlayerInfo[i][pBank] += checks;
SendMes(i,-1," Текущий баланс: %d вирт", PlayerInfo[i][pBank]);
PlayerInfo[i][pZakonp] += 1;
PlayerInfo[i][pBank] += PlayerInfo[i][pMobile];
PlayerInfo[i][pMobile] = 0;
kazna +=1000;
}
for(new b = 0; b < sizeof(BizzInfo); b++)
{
if(BizzInfo[b][bOwned] == 0) continue;
new idd = GetPlayerID(BizzInfo[b][bOwner]);
if(BizzInfo[b][bMafia] !=0)
{
BizzInfo[b][bTill] -= 500;
if(BizzInfo[b][bMafia] == 6) MafiaBank[0][nYakuza] +=500;
if(BizzInfo[b][bMafia] == 14) MafiaBank[0][nRm] +=500;
if(BizzInfo[b][bMafia] == 5) MafiaBank[0][nLcn] +=500;
SendClientMessage(idd, -1, "- Оплата за крышу: $500.");
}
SendMes(idd, -1, "- Плата за электричество бизнеса: $%d.",nalog*2);
BizzInfo[b][bTill]-=nalog*2; kazna+=nalog*2; BizzInfo[b][b2Till]=0;
if(BizzInfo[b][bTill]<=0) { SellBizzID(b); }
}
for(new s = 0; s < sizeof(SBizzInfo); s++)
{
if(SBizzInfo[s][sOwned] == 0) continue;
new idd = GetPlayerID(SBizzInfo[s][sOwner]);
SendMes(idd, -1, "- Плата за электричество на заправке: $%d.",nalog*2);
SBizzInfo[s][sTill]-=nalog*2; kazna+=nalog*2;
if(SBizzInfo[s][sTill]<=0) { SellSBizzID(s); }
}
if(PlayerInfo[i][pDonateRank] >= 1) SendClientMessage(i, 0xeac700aa,"====================================");
else SendClientMessage(i,COLOR_GRAD1,"===================================");
if(PlayerInfo[i][punWarns] == 1) { PlayerInfo[i][punWarnstime] += 1; SendMes(i,COLOR_LIGHTRED,"- Автоматическое снятие предупреждения через %d часов", 10 - PlayerInfo[i][punWarnstime]); }
if(PlayerInfo[i][punWarns] == 1 && PlayerInfo[i][punWarnstime] >=10)
{
PlayerInfo[i][punWarnstime] = 0;
PlayerInfo[i][punWarns] = 0;
PlayerInfo[i][pWarns] -=1;
SendClientMessage(i,COLOR_LIGHTRED, "- С Вас было снято одно предупреждение!");
}
PlayerInfo[i][pPayCheck] = 0;
PlayerInfo[i][pPayDayHad] += 1;
}
UpdateKazna();
return true;
}
PHP код:
SendMes(idd, -1, "- Плата за электричество на заправке: $%d.",nalog*2);
PHP код:
SendMes(idd, -1, "- Плата за электричество бизнеса: $%d.",nalog*2);