Question

Здравствуйте дорогие форумчани.
После добавления Античита Nexius у меня выскакивают такие ошибки

Спойлер

[17:38:38] Run time error 4: "Array index out of bounds"
[17:38:38]  Attempted to read/write array element at negative index -1
[17:38:38] AMX backtrace:
[17:38:38] #0 003c02d4 in public ac_OnPlayerKeyStateChange (playerid=1, newkeys=1, oldkeys=0) at C:\Users\RusTick\Desktop\Normative RP. Server 02\gamemodes\rls.pwn:56182
[17:38:38] #1 00024058 in public OnPlayerKeyStateChange (playerid=1, newkeys=1, oldkeys=0) at C:\Users\RusTick\Desktop\NORMAT~1.SER\pawno\include\
rakcheat.inc:5115
[17:48:43] Run time error 4: "Array index out of bounds"
[17:48:43]  Attempted to read/write array element at index 23 in array of size 20
[17:48:43] AMX backtrace:
[17:48:43] #0 00722770 in CaptureUpd (bandkiller=18) at C:\Users\RusTick\Desktop\Normative RP. Server 02\gamemodes\rls.pwn:63307
[17:48:43] #1 00198d0c in public ac_OnPlayerDeath (playerid=2, killerid=6, reason=24) at C:\Users\RusTick\Desktop\Normative RP. Server 02\gamemodes\rls.pwn:26314
[17:48:43] #2 000129b4 in public OnPlayerDeath (playerid=2, killerid=6, reason=24) at C:\Users\RusTick\Desktop\NORMAT~1.SER\pawno\include\
rakcheat.inc:3341
[17:48:44] Run time error 4: "Array index out of bounds"
[17:48:44]  Attempted to read/write array element at index 23 in array of size 20
[17:48:44] AMX backtrace:
[17:48:44] #0 00722770 in CaptureUpd (bandkiller=18) at C:\Users\RusTick\Desktop\Normative RP. Server 02\gamemodes\rls.pwn:63307
[17:48:44] #1 00198d0c in public ac_OnPlayerDeath (playerid=3, killerid=6, reason=24) at C:\Users\RusTick\Desktop\Normative RP. Server 02\gamemodes\rls.pwn:26314
[17:48:44] #2 000129b4 in public OnPlayerDeath (playerid=3, killerid=6, reason=24) at C:\Users\RusTick\Desktop\NORMAT~1.SER\pawno\include\
rakcheat.inc:3341

 

Вот строка 56182

           

Спойлер

if(IsPlayerInAnyVehicle(playerid))
    {
        //new vehicleid = GetPlayerVehicleID(playerid);
        //new model = (GetVehicleModel(vehicleid)-400);
        if (newkeys == 262144 && IsACar(plcar)) return callcmd::radio(playerid); //262144 - ??? id ??????? R
        if (newkeys == KEY_SUBMISSION && !IsABycicle(plcar)) return callcmd::en(playerid);
        if(GetPlayerState(playerid) == 2)
        {
            if(newkeys & 1)
            {
                   if (!(IsABycicle(plcar) || IsAPlane(plcar) || IsABoat(plcar)))
                {
                    if(LightsStatus(plcar) == 1)
                    {
                        Lights(plcar, false);
                        LightPwr[plcar] = 0;
                        lightcar[GetPlayerVehicleID(playerid)] = 0;
                        GetVehicleParamsEx(plcar,engine,lights,alarm,doors,bonnet,boot,objective);
                        SetVehicleParamsEx(plcar,engine,LightPwr[plcar],alarm,doors,bonnet,boot,objective);

                        if (plcar <= MAX_BUYABLE_CARS)
                        {
                            if (CarsInfo[plcar-1][vNeon]) // 56182{
                                DestroyDynamicObject(neons[plcar][0]);
                                DestroyDynamicObject(neons[plcar][1]);
                                neons[plcar][0] = -1;
                                neons[plcar][1] = -1;
                                //SendClientMessage(playerid,COLOR_GREY,"* ?? ????????? ???? ? ????");
                            }
                            //else SendClientMessage(playerid,COLOR_GREY,"* ?? ????????? ????");
                        }
                        //else SendClientMessage(playerid,COLOR_GREY,"* ?? ????????? ????");
                    }
                    else
                    {
                        Lights(plcar, true);
                          LightPwr[plcar] = 1;
                          lightcar[GetPlayerVehicleID(playerid)] = 1;
                          GetVehicleParamsEx(plcar,engine,lights,alarm,doors,bonnet,boot,objective);
                        SetVehicleParamsEx(plcar,engine,LightPwr[plcar],alarm,doors,bonnet,boot,objective);

                          if (plcar <= MAX_BUYABLE_CARS)
                        {
                            if (CarsInfo[plcar-1][vNeon])  //{
                                DestroyDynamicObject(neons[plcar][0]);
                                DestroyDynamicObject(neons[plcar][1]);
                                neons[plcar][0] = CreateDynamicObject(CarsInfo[plcar-1][vNeon],0,0,0,0,0,0);
                                neons[plcar][1] = CreateDynamicObject(CarsInfo[plcar-1][vNeon],0,0,0,0,0,0);
                                new modelS = GetVehicleModel(plcar);
                                AttachDynamicObjectToVehicle(neons[plcar][0], plcar, -1 * NeonPos[modelS-400][0], NeonPos[modelS-400][1], NeonPos[modelS-400][2], 0.0, 0.0, 0.0);
                                AttachDynamicObjectToVehicle(neons[plcar][1], plcar, NeonPos[modelS-400][0], NeonPos[modelS-400][1], NeonPos[modelS-400][2], 0.0, 0.0, 0.0);
                                //SendClientMessage(playerid,COLOR_WHITE,"* ?? ???????? ???? ? ????");
                            }
                            //else SendClientMessage(playerid,COLOR_WHITE,"* ?? ???????? ????");
                        }
                        //else SendClientMessage(playerid,COLOR_WHITE,"* ?? ???????? ????");
                    }
                }
            }

 

Вот от 26314

Спойлер

new bandkiller;
        new bandkill;
        if(PlayerInfo[killerid][pLeader] !=0)
        {
            bandkiller = PlayerInfo[killerid][pLeader];
        }
        else
        {
            bandkiller = PlayerInfo[killerid][pMember];
        }
        if(PlayerInfo[playerid][pLeader] !=0)
        {
            bandkill = PlayerInfo[playerid][pLeader];
        }
        else
        {
            bandkill = PlayerInfo[playerid][pMember];
        }
        if(bandkiller != bandkill)
        {
            if(GangInfo[bandkiller][capture] && GangInfo[bandkill][capture] == 1)
            {
                if(GangInfo[bandkiller][captureid] == GangInfo[bandkill][captureid])
                {
                    GangInfo[bandkiller][score] = GangInfo[bandkiller][score]+1;
                    CaptureUpd(bandkiller);//26314
                }
            }
        }
    }

 

 

Edited by DEST

Заметка от DEST , создано

Большой код оборачивайте еще и под спойлер, как это указано тут.

Share this post


Link to post

9 answers to this question

  • 0

@Рустик по поводу первой ошибки, то переменная plcar принимает значение 0, и поэтому идет обращение по отрицательному индексу в массиве. Найдите в этом коде где объявлена переменная plcar и ей выполнено присваивание какого-нибудь значения (т.е. строку вида 

plcar = ... )

По поводу второй проблемы, скидывайте функцию

CaptureUpd

Share this post


Link to post
  • 0
В 03.08.2019 в 18:25, DEST сказал:

@Рустик по поводу первой ошибки, то переменная plcar принимает значение 0, и поэтому идет обращение по отрицательному индексу в массиве. Найдите в этом коде где объявлена переменная plcar и ей выполнено присваивание какого-нибудь значения (т.е. строку вида 

plcar = ... )

По поводу второй проблемы, скидывайте функцию


CaptureUpd

Извените что так долго не отвечал дела были

 

Вот функция
 

stock CaptureUpd(bandkiller)
{
    new SCORE1[10],SCORE2[10];
    tforeach(i)
    {
        if(!gPlayerLogged[i]) continue;
    	if(GangInfo[PlayerInfo[i][pMember]][capture] > 0)
    	{
	        if(GangInfo[bandkiller][gangnumber] == 1)
	        {
	            format(SCORE1, sizeof(SCORE1), "%d", GangInfo[bandkiller][score]);
	            PlayerTextDrawSetString(i,capture_PTD[i][13], SCORE1);
	        }
	        else
	        {
	            format(SCORE2, sizeof(SCORE2), "%d", GangInfo[bandkiller][score]);
	            PlayerTextDrawSetString(i,capture_PTD[i][14], SCORE2);
	       	}
    	}
    }
}

 

Share this post


Link to post
  • 0

@Рустик как объявлена capture_PTD

Share this post


Link to post
  • 0
2 часа назад, DEST сказал:

@Рустик как объявлена capture_PTD

new PlayerText:capture_PTD[MAX_PLAYERS][16];

Edited by Рустик

Share this post


Link to post
  • 0
2 часа назад, DEST сказал:

@Рустик А GangInfo? 

#define MAX_GANGS 20
enum Ganginfa{
    capture,
    score,
    captureid,
    gangnumber}
new GangInfo[MAX_GANGS][Ganginfa];
#define MAX_GZONE 120

 

Edited by Рустик

Share this post


Link to post
  • 0

@Рустик ID фракции игрока равен 23, а количество ячеек массива под информацию GangInfo составляет всего 20. Найдите в моде места, где идет обращение по индексу GangInfo и скиньте сюда. 

Share this post


Link to post
  • 0
2 часа назад, DEST сказал:

@Рустик ID фракции игрока равен 23, а количество ячеек массива под информацию GangInfo составляет всего 20. Найдите в моде места, где идет обращение по индексу GangInfo и скиньте сюда. 

if(GangInfo[faction][capture] == 1

Share this post


Link to post
  • 0
В 13.08.2019 в 20:08, Рустик сказал:

if(GangInfo[PlayerInfo[i][pMember]][capture] > 0)

это условие замените следующим и ошибка пропадет

if(PlayerInfo[i][pMember] < MAX_GANGS && GangInfo[PlayerInfo[i][pMember]][capture] > 0)

 

Share this post


Link to post
Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 0
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • axvvpq
      By axvvpq
      Всех приветствую, меня интересует мод проекта AMAZING, если он есть у кого то с системой транспортных компаний и/или таксопарков - прошу скинуть. Если же вы его продаёте, то цену и связь с Вами.
    • 0s1pov
      By 0s1pov
      Мод полный оригинал 11 REGION RP
      Просмотр файла Здравствуйте дорогие пользователи pawnorus. На продаже оригинальный мод проекта 11 REGION RP
      В моде присутствует:
      CEF:
      - Авторизация/регистрация на CEF
      - Главное меню на CEF
      - Магазин одежды на CEF
      - Худ CEF
      - Меню управления фракцией на CEF
      - Спидометр на CEF
      - Документы по типу паспорта, военного билета и так далее на CEF

      Системная составляющая:
      - Система спортзала (FULL 11 REGION)
      - Система подъездов (FULL 11 REGION)
      - Система усталости, для понижения усталости Вам требуется ввести команду, и Ваш персонаж будет отдыхать (FULL 11 REGION)
      - Система динамического авторынка, администрация из игры выставляет автомобили на продажу (FULL 11 REGION)
      - Система позволяющая создать фракционный транспорт прямо из игры с сохранением (FULL 11 REGION)
      - Система тонировки автомобиля (FULL 11 REGION)
      - Система различных образований, (полицейское, и тд) (FULL 11 REGION)
      - Система реалистичных номерных знаков с возможностью изменения региона (4 типа: гражданский, полицейский, военный, такси) (FULL 11 REGION)
      - Система закрытой регистрации способом подачи заявки прямо из игры прямиком администрации, с дальнейшей возможность отклонения/одобрения её (FULL 11 REGION)
      - Много различных работ, например: развозчик песка, развозчик пиццы, машинист поезда) (FULL 11 REGION)
      - Система сохранения всех действий в базу данных MySQL (FULL 11 REGION)
      - Система выдачи своего звания(сами пишите название)
      - Система подорганизаций во фракции (FULL 11 REGION)
      - Система мигалок с интерфейсом (FULL 11 REGION)

      И многое другое. К моду прилагается также база данных, приятного использования.
      Добавил 0s1pov Добавлено 04.12.2022 Категория Моды Автор 11 region  
    • 0s1pov
      By 0s1pov
      Здравствуйте дорогие пользователи pawnorus. На продаже оригинальный мод проекта 11 REGION RP
      В моде присутствует:
      CEF:
      - Авторизация/регистрация на CEF
      - Главное меню на CEF
      - Магазин одежды на CEF
      - Худ CEF
      - Меню управления фракцией на CEF
      - Спидометр на CEF
      - Документы по типу паспорта, военного билета и так далее на CEF

      Системная составляющая:
      - Система спортзала (FULL 11 REGION)
      - Система подъездов (FULL 11 REGION)
      - Система усталости, для понижения усталости Вам требуется ввести команду, и Ваш персонаж будет отдыхать (FULL 11 REGION)
      - Система динамического авторынка, администрация из игры выставляет автомобили на продажу (FULL 11 REGION)
      - Система позволяющая создать фракционный транспорт прямо из игры с сохранением (FULL 11 REGION)
      - Система тонировки автомобиля (FULL 11 REGION)
      - Система различных образований, (полицейское, и тд) (FULL 11 REGION)
      - Система реалистичных номерных знаков с возможностью изменения региона (4 типа: гражданский, полицейский, военный, такси) (FULL 11 REGION)
      - Система закрытой регистрации способом подачи заявки прямо из игры прямиком администрации, с дальнейшей возможность отклонения/одобрения её (FULL 11 REGION)
      - Много различных работ, например: развозчик песка, развозчик пиццы, машинист поезда) (FULL 11 REGION)
      - Система сохранения всех действий в базу данных MySQL (FULL 11 REGION)
      - Система выдачи своего звания(сами пишите название)
      - Система подорганизаций во фракции (FULL 11 REGION)
      - Система мигалок с интерфейсом (FULL 11 REGION)

      И многое другое. К моду прилагается также база данных, приятного использования.
    • tranquilsevenaura
      By tranquilsevenaura
      Добрый вечер дорогие друзья, не работает команда /apanel. По началу, как только запустил мод и выдал себе админку все было хорошо и все работало, но после сделав несколько манипуляций (явно не связанных с /apanel НИКАКИМ образом, как мне кажется). В server log ничего толкового найти не смог. Уровень моего скриптинга "качабок, который эдитит простые команды и дополняет диалоги".
       
      Буду очень благодарен, если поможете, репликом ниже предоставлю код /apanel
      CMD:apanel(playerid, const params[]) {     if(PI[playerid][pAdmin] < 1 || dostup[playerid] == 0) return true;     new string[1612];     switch(PI[playerid][pAdmin]) {         case 1: format(string,sizeof(string),""P"1."W" Àäìèíèñòðàöèÿ\n"P"2."W" Çàñïàâíèòüñÿ\n"P"3."W" Óñòðîèòüñÿ íà ðàáîòó\n"P"4."W" Èãðîêè â òþðüìå\n"P"5."W" Èãðîêè ñ áàíîì ÷àòà\n"P"6."W" Àäìèí èíôîðìàöèÿ %s\n"P"7."W" Kill List %s",(!PI[playerid][pAdmMSG]) ? ("{FF182D}[OFF]") : ("{33AA33}[ONN]"),(!PI[playerid][pAdmKL]) ? ("{FF182D}[OFF]") : ("{33AA33}[ONN]"));         case 2: format(string,sizeof(string),""P"1."W" Àäìèíèñòðàöèÿ\n"P"2."W" Çàñïàâíèòüñÿ\n"P"3."W" Óñòðîèòüñÿ íà ðàáîòó\n"P"4."W" Èãðîêè â òþðüìå\n"P"5."W" Èãðîêè ñ áàíîì ÷àòà\n"P"6."W" Àäìèí èíôîðìàöèÿ %s\n"P"7."W" Kill List %s\n"P"8."W" Îíëàéí îðãàíèçàöèé\n"P"9."W" Ïî÷èíèòü àâòîìîáèëü",(!PI[playerid][pAdmMSG]) ? ("{FF182D}[OFF]") : ("{33AA33}[ONN]"),(!PI[playerid][pAdmKL]) ? ("{FF182D}[OFF]") : ("{33AA33}[ONN]"));         case 3: format(string,sizeof(string),""P"1."W" Àäìèíèñòðàöèÿ\n"P"2."W" Çàñïàâíèòüñÿ\n"P"3."W" Óñòðîèòüñÿ íà ðàáîòó\n"P"4."W" Èãðîêè â òþðüìå\n"P"5."W" Èãðîêè ñ áàíîì ÷àòà\n"P"6."W" Àäìèí èíôîðìàöèÿ %s\n"P"7."W" Kill List %s\n"P"8."W" Îíëàéí îðãàíèçàöèé\n"P"9."W" Ïî÷èíèòü àâòîìîáèëü\n"P"10."W" Ñîñòîÿíèå ñêëàäîâ\n"P"11."W" Óçíàòü çàìîðîçêè áàíä/ìàôèé",(!PI[playerid][pAdmMSG]) ? ("{FF182D}[OFF]") : ("{33AA33}[ONN]"),(!PI[playerid][pAdmKL]) ? ("{FF182D}[OFF]") : ("{33AA33}[ONN]"));         case 4: format(string,sizeof(string),""P"1."W" Àäìèíèñòðàöèÿ\n"P"2."W" Çàñïàâíèòüñÿ\n"P"3."W" Óñòðîèòüñÿ íà ðàáîòó\n"P"4."W" Èãðîêè â òþðüìå\n"P"5."W" Èãðîêè ñ áàíîì ÷àòà\n"P"6."W" Àäìèí èíôîðìàöèÿ %s\n"P"7."W" Kill List %s\n"P"8."W" Îíëàéí îðãàíèçàöèé\n"P"9."W" Ïî÷èíèòü àâòîìîáèëü\n"P"10."W" Ñîñòîÿíèå ñêëàäîâ\n"P"11."W" Óçíàòü çàìîðîçêè áàíä/ìàôèé\n"P"12."W" Áàíëèñò\n"P"13."W" Âîçìîæíî âçëîìàíû\n"P"14."W" Áèëáîðäû\n"P"15."W" Äóýëè %s",(!PI[playerid][pAdmMSG]) ? ("{FF182D}[OFF]") : ("{33AA33}[ONN]"),(!PI[playerid][pAdmKL]) ? ("{FF182D}[OFF]") : ("{33AA33}[ONN]"),(!duels) ? ("{FF182D}[OFF]") : ("{33AA33}[ON]"));         case 5: format(string,sizeof(string),""P"1."W" Àäìèíèñòðàöèÿ\n"P"2."W" Çàñïàâíèòüñÿ\n"P"3."W" Óñòðîèòüñÿ íà ðàáîòó\n"P"4."W" Èãðîêè â òþðüìå\n"P"5."W" Èãðîêè ñ áàíîì ÷àòà\n"P"6."W" Àäìèí èíôîðìàöèÿ %s\n"P"7."W" Kill List %s\n"P"8."W" Îíëàéí îðãàíèçàöèé\n"P"9."W" Ïî÷èíèòü àâòîìîáèëü\n"P"10."W" Ñîñòîÿíèå ñêëàäîâ\n"P"11."W" Óçíàòü çàìîðîçêè áàíä/ìàôèé\n"P"12."W" Áàíëèñò\n"P"13."W" Âîçìîæíî âçëîìàíû\n"P"14."W" Áèëáîðäû\n"P"15."W" Äóýëè %s\n"P"16."W" Àíòè÷èò\n"P"17."W" Êàçèíî %s\n"P"18."W" Ðåïîðò %s\n"P"19."W" Çàïîëíèòü ñêëàäû áàíä/ìàôèé\n"P"20."W" Îãðàíè÷åíèå Invite",(!PI[playerid][pAdmMSG]) ? ("{FF182D}[OFF]") : ("{33AA33}[ONN]"),(!PI[playerid][pAdmKL]) ? ("{FF182D}[OFF]") : ("{33AA33}[ONN]"),(!duels) ? ("{FF182D}[OFF]") : ("{33AA33}[ON]"),(!casino) ? ("{FF182D}[OFF]") : ("{33AA33}[ON]"),(!rep_system) ? ("{FF182D}[OLD]") : ("{33AA33}[NEW]"));         case 6,7: format(string,sizeof(string),""P"1."W" Àäìèíèñòðàöèÿ\n"P"2."W" Çàñïàâíèòüñÿ\n"P"3."W" Óñòðîèòüñÿ íà ðàáîòó\n"P"4."W" Èãðîêè â òþðüìå\n"P"5."W" Èãðîêè ñ áàíîì ÷àòà\n"P"6."W" Àäìèí èíôîðìàöèÿ %s\n"P"7."W" Kill List %s\n"P"8."W" Îíëàéí îðãàíèçàöèé\n"P"9."W" Ïî÷èíèòü àâòîìîáèëü\n"P"10."W" Ñîñòîÿíèå ñêëàäîâ\n"P"11."W" Óçíàòü çàìîðîçêè áàíä/ìàôèé\n"P"12."W" Áàíëèñò\n"P"13."W" Âîçìîæíî âçëîìàíû\n"P"14."W" Áèëáîðäû\n"P"15."W" Äóýëè %s\n"P"16."W" Àíòè÷èò\n"P"17."W" Êàçèíî %s\n"P"18."W" Ðåïîðò %s\n"P"19."W" Çàïîëíèòü ñêëàäû áàíä/ìàôèé\n"P"20."W" Îãðàíè÷åíèå Invite\n"P"21."W" Äàëüíîáîéùèêè\n"P"22."W" Ïðîìîêîäû\n"P"23."W" Áîíóñû\n"P"24."W" Ïîïîëíèòü ïðîäóêòû â áèçíåñ(ñêîëüêî çàêàçàë âëàäåëåö)\n"P"25."W" Àíòè ÒÊ %s",(!PI[playerid][pAdmMSG]) ? ("{FF182D}[OFF]") : ("{33AA33}[ONN]"),(!PI[playerid][pAdmKL]) ? ("{FF182D}[OFF]") : ("{33AA33}[ONN]"),(!duels) ? ("{FF182D}[OFF]") : ("{33AA33}[ON]"),(!casino) ? ("{FF182D}[OFF]") : ("{33AA33}[ON]"),(!rep_system) ? ("{FF182D}[OLD]") : ("{33AA33}[NEW]"),(!anti_tk) ? ("{FF182D}[OFF]") : ("{33AA33}[ON]"));     }     D(playerid,D_ADMIN_PANEL,DSL,""P"Àäìèí ïàíåëü",string,"Âûáðàòü","Îòìåíà");     return true; }