• Уважаемый Гость.
    - Прежде чем создать свою тему, пожалуйста, попробуй воспользоваться этим -> ПОИСКОМ !!!
    - После решения Вашего вопроса (проблемы) - нажмите "Лучший ответ", на сообщении, которое его решило. За игнорирование этого действия - Вы получите соответствующее предупреждение. Мы - стараемся Вам помочь. Уделите 10 секунд - чтобы нажать кнопку. (Если у Вас нет такой возможности - укажите в последнем своем сообщении какой ответ Вы считаете лучшим. Наши модераторы сделают это за Вас)
    ЗАПРЕЩЕНО:
    - Cоздавать темы с названиями "Помогите", "Плиз", "Ошибка", "Не могу найти", "Хелп" и тому подобное;
    - Cоздавать темы без детального описания того, что нужно исправить.
    - Cоздавать темы из одного скриншота.
    За игнор правил форума - Ваша тема будет удалена, а Вы получите системное предупреждение.

Debug сервера во время PayDay

clashofclans

Новичок
Всем привет! По непонятной для меня причине, PayDay не работает в принципе. Произошло это после добавления сис-мы на отыгранное время. Заранее спасибо за помощь!
Server_log:
[10:54:52] [debug] Run time error 4: "Array index out of bounds"
[10:54:52] [debug] Accessing element at index 500 past array upper bound 499
[10:54:52] [debug] AMX backtrace:
[10:54:52] [debug] #0 0018f048 in PayDay () at C:\Users\79960\Desktop\Проект\Модик\gamemodes\mod.pwn:25588
[10:54:52] [debug] #1 001b1554 in public OnPlayerCommandText (playerid=0, cmdtext[]=@004e14e4 "/payday") at C:\Users\79960\Desktop\Проект\Модик\gamemodes\mod.pwn:27628
весь сток Пей Дея:
PayDay()
{
for(new i =0;i<sizeof(GZInfo);i++)
{
if(GZInfo[gFrakVlad] == 18) TotalGzR++;
if(GZInfo[gFrakVlad] == 17) TotalGzA++;
if(GZInfo[gFrakVlad] == 15) TotalGzG++;
if(GZInfo[gFrakVlad] == 13) TotalGzV++;
if(GZInfo[gFrakVlad] == 12) TotalGzB++;
}
FracBank[0][fGrove] += TotalGzG*300;
FracBank[0][fBallas] += TotalGzB*300;
FracBank[0][fVagos] += TotalGzV*300;
FracBank[0][fAztek] += TotalGzA*300;
FracBank[0][fRifa] += TotalGzR*300;
FracBank[0][fBmc] += TotalGzR*300;
ClearTotalGz();

foreach(Player,i)
{
new minute;
gettime(minute);
if(minute != 0)
{
for(i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[pLevel] > 0)
{
PlayerInfo[pExpTime] ++;
}
}
}
}
if(minute == 0)
{
for(i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(PlayerInfo[pLevel] > 0)
{
if(PlayerInfo[pExpTime] < 20)
{
SendClientMessage(i,COLOR_WHITE,"{FF8C00}[Информация] {ffffff}Вам необходимо отыграть 20 минут, чтобы получить зарплату!");
PlayerInfo[pExpTime] = 0;
return 1;
}
}
}
}
}
if(PlayerInfo[pWanted] >= 1)
{
WantedLevel -= 1;
PlayerInfo[pWanted] -=1;
SetPlayerWantedLevel(i, PlayerInfo[pWanted]);
}
new exp = PlayerInfo[pExp];
new nxtlevel = PlayerInfo[pLevel]+1;
new expamount = nxtlevel*levelexp;
if(exp >= expamount)
{
PlayerInfo[pLevel] += 1;
PlayerInfo[pExp] = 0;
SCM(i,COLOR_WHITE,"Ваш игровой lvl повысился.");
SetPlayerScore(i, PlayerInfo[pLevel]);
}
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);
switch(PlayerInfo[pMRInections])
{
case 1,10,21,25:{ PlayerInfo[pPayCheck] += 2000*PlayerInfo[pRKInections]+moneys; } // ЗП полиции, 2к умноженое на ранг + рандомные цифры
case 3,19,26:{ PlayerInfo[pPayCheck] += 1500*PlayerInfo[pRKInections]+moneys; } // Зп армии, 1.5к умноженое на ранг + рандомные цифры
case 2,27,16,17,18:{ PlayerInfo[pPayCheck] += 3000*PlayerInfo[pRKInections]+moneys; } // Зп ФБР, 3к умноженое на ранг + рандомные цифры
case 7,12,13,15:{ PlayerInfo[pPayCheck] += 4000*PlayerInfo[pRKInections]+moneys; } // Зп Мэрия, 4к умноженое на ранг + рандомные цифры
case 4,22:{ PlayerInfo[pPayCheck] += 50000*PlayerInfo[pRKInections]+moneys; } // Зп МинЗдрав, 4к умноженое на ранг + рандомные цифры
case 11,8:{ PlayerInfo[pPayCheck] += 50000*PlayerInfo[pRKInections]+moneys; } // Зп инструкторов, 4к умноженое на ранг + рандомные цифры
case 5,6,14:{ PlayerInfo[pPayCheck] += 5000*PlayerInfo[pRKInections]+moneys; } // Зп инструкторов, 4к умноженое на ранг + рандомные цифры
}
PlayerPlaySound(i, 6400, 0.0, 0.0, 0.0);
PlayerInfo[pExp]++;
new checks = PlayerInfo[pPayCheck];
if(PlayerInfo[pDRInections] >=1) GameTextForPlayer(i, "PayDay", 5000, 1);
else GameTextForPlayer(i, "~w~PayDay", 5000, 1);
if(PlayerInfo[pDRInections] >=1) SCM(i, COLOR_WHITE, "{FF9A30}~~~~~~~~[ {FF6600}БАНКОВСКИЙ ЧЕК {FF9A30}]~~~~~~~~~");
else SCM(i, COLOR_WHITE, "{FF9A30}~~~~~~~~[ {FF6600}БАНКОВСКИЙ ЧЕК {FF9A30}]~~~~~~~~~");
SCMs(i,COLOR_WHITE,"Налог государству: {66CC00}%d", nalog);
PlayerInfo[pBank] -= nalog;
kazna +=nalog;
if(PlayerInfo[pDRInections] >=1)
{
SCMs(i,COLOR_WHITE,"Счет за телефон: {66CC00}%d",PlayerInfo[pMobile]);
SCM(i, COLOR_WHITE, " ");
SCMs(i,COLOR_WHITE,"Зарплата: {66CC00}%d", checks);
PlayerInfo[pBank] += checks;
SCMs(i,COLOR_WHITE,"Текущий баланс: {66CC00}%d", PlayerInfo[pBank]);
PlayerInfo[pZakonp] += 1;
PlayerInfo[pBank] += PlayerInfo[pMobile];
PlayerInfo[pMobile] = 0;
PlayerInfo[pVipRespect]++;
if(PlayerInfo[pVipRespect] == 3)
{
PlayerInfo[pExp]++;
PlayerInfo[pVipRespect] = 0;
SCM(i, COLOR_LIGHTBLUE, "Вы получили дополнительный Респект, за счет VIP Аккаунта.");
}
kazna +=1000;
}
else
{
SCMs(i,COLOR_WHITE,"Счет за телефон: {66CC00}%d",PlayerInfo[pMobile]);
SCM(i, COLOR_WHITE, " ");
SCMs(i,COLOR_WHITE,"Зарплата: {66CC00}%d", checks);
PlayerInfo[pBank] += checks;
SCMs(i,COLOR_WHITE,"Текущий баланс: {66CC00}%d", PlayerInfo[pBank]);
PlayerInfo[pZakonp] += 1;
PlayerInfo[pBank] += PlayerInfo[pMobile];
PlayerInfo[pMobile] = 0;
kazna +=1000;
}
new bouse = PlayerInfo[pPbiskey];
if(PlayerInfo[pPbiskey] != 255)
{
SCM(i, COLOR_WHITE, "Плата за электричество бизнеса: {66CC00}100");
if(bouse != 255)
{
BizzInfo[bouse][bTill] -= 100;
BizzInfo[bouse][bTill] += BizzInfo[bouse][b2Till];
BizzInfo[bouse][b2Till] = 0;
if(BizzInfo[bouse][bMafia] !=0)
{
if(BizzInfo[bouse][bTill] > 5000)
{
BizzInfo[bouse][bTill] -= 1000;
if(BizzInfo[bouse][bMafia] == 6) MafiaBank[0][nYakuza] +=500;
if(BizzInfo[bouse][bMafia] == 14) MafiaBank[0][nRm] +=500;
if(BizzInfo[bouse][bMafia] == 5) MafiaBank[0][nLcn] +=500;
}
}
SaveBizz(bouse);
}
}
if(PlayerInfo[pDRInections] >=1) SCM(i, COLOR_WHITE,"{FF9A30}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
else SCM(i,COLOR_WHITE,"{FF9A30}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~");
if(PlayerInfo[punWarns] == 1) { PlayerInfo[punWarnstime] += 1; SCMs(i,COLOR_LIGHTRED,"- [UNWARN] Автоматическое снятие варна через %d часов", 10 - PlayerInfo[punWarnstime]); }
if(PlayerInfo[punWarns] == 1 && PlayerInfo[punWarnstime] >=10)
{
PlayerInfo[punWarnstime] = 0;
PlayerInfo[punWarns] = 0;
PlayerInfo[pWarns] -=1;
SCM(i,COLOR_LIGHTRED, "- [UNWARN] С Вас было снято одно предупреждение!");
}
if(IsPlayerLogged)
{
PlayerInfo[pPlayedTime] = 0;
OnPlayerUpdateRL(PlayerInfo[pPlayedTime]);
}
seans = 0;
PlayerInfo[pPayCheck] = 0;
PlayerInfo[pPayDayHad] += 1;
PlayerInfo[pExpTime] = 0;
}
format(stringer,sizeof(stringer),"{FF0000}[INFO]\n{FFFFFF}Казна штата: {1e90ff}%d\n{FFFFFF}Налог государства: {1e90ff}%d", kazna, nalog);
Update3DTextLabelText(kaznameria, 0xC2A2DAFF, stringer);
return true;
}
 
Сверху Снизу