Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 9 из 9
  1. #1
    Аватар для Mesto
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.12.2016
    Сообщений
    18
    Репутация:
    0 ±

    [debug] Run time error 4: "Array index out of bounds"

    Подскажите пожалуйста как исправить

    21:36:07] [debug] Run time error 4: "Array index out of bounds"
    [21:36:07] [debug] Attempted to read/write array element at negative index -400
    [21:36:07] [debug] AMX backtrace:
    [21:36:07] [debug] #0 0019c2ac in public UpdateTimer () at D:\server\gamemodes\new.pwn:23017

    PHP код:
            if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
            {
                new 
    vehid GetPlayerVehicleID(playerid);
                new 
    string[80];
                new 
    Float:XFloat:YFloat:ZFloat:X2Float:Y2Float:Z2;
                new 
    Float:velocmodelid GetVehicleModel(vehid)-400;
                
    X2 gVehicles[vehid][vX];
                
    Y2 gVehicles[vehid][vY];
                
    Z2 gVehicles[vehid][vZ];
                
    GetVehiclePos(vehidXYZ);
                
    veloc PointToPoint3D(X2Y2Z2XYZ)/1000;
                if(
    gVehicles[vehid][vEngine] == true && gTransport[modelid][trFuelable] == && gVehicles[vehid][vFuel] > 0.0// СТРОЧКА 23017
                
    {
                    
    gVehicles[vehid][vFuel] -= (veloc/100)*gTransport[modelid][trConsumption]*2;
                    if(
    gVehicles[vehid][vFuel] <= 0.0)
                    {
                        
    gVehicles[vehid][vFuel] = 0.0;
                        
    ToggleEngine(vehid);
                        
    SendClientMessage(playeridCGRAY"Двигатель заглох.");
                        if((
    StartDerby == || StartDerby == 2) && iDerby[playerid] != 0)
                        {
                            
    PlayerDerby--;
                            
    iDerby[playerid] = 0;
                            
    UpdateDerby();
                            
    DestroyVehicle(DerbyCar[1][playerid]);
                            
    DerbyCar[0][playerid] = -1;
                            
    DerbyCar[1][playerid] = -1;
                            
    SetPlayerPos(playerid827.0083,5.8989,1004.1870);
                            
    SetPlayerFacingAngle(playerid269.6992);
                            
    SetPlayerInterior(playerid3);
                            
    SetPlayerVirtualWorld(playerid300);
                            
    SendClientMessage(playeridCOLOR_GREY"Вы были дисквалифицированы.");
                        }
                    }
                    else if(
    gVehicles[vehid][vHealth] <= 300.0)
                    {
                        
    gVehicles[vehid][vHealth] = 300.0;
                        
    ToggleEngine(vehid);
                        
    SendClientMessage(playeridCGRAY"Двигатель заглох");
                        if((
    StartDerby == || StartDerby == 2) && iDerby[playerid] != 0)
                        {
                            
    PlayerDerby--;
                            
    iDerby[playerid] = 0;
                            
    UpdateDerby();
                            
    DestroyVehicle(DerbyCar[1][playerid]);
                            
    DerbyCar[0][playerid] = -1;
                            
    DerbyCar[1][playerid] = -1;
                            
    SetPlayerPos(playerid827.0083,5.8989,1004.1870);
                            
    SetPlayerFacingAngle(playerid269.6992);
                            
    SetPlayerInterior(playerid3);
                            
    SetPlayerVirtualWorld(playerid300);
                            
    SendClientMessage(playeridCOLOR_GREY"Вы были дисквалифицированы.");
                        }
                    }
                } 

  2. #2
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  3. #3
    Аватар для L0ndl3m
    Пользователь

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Адрес
    Ярославль
    Сообщений
    1,366
    Репутация:
    774 ±
    PHP код:
    new vehid GetPlayerVehicleID(playerid); 
    на
    PHP код:
    new vehid GetPlayerVehicleID(playerid);
    if (
    vehid == 0) {
        return 
    1;

    Но это странно, что GetPlayerState возвращало состояние PLAYER_STATE_DRIVER, так как ниже используется GetPlayerVehicleID, которая возвращало 0 (не удалось получить ID транспорта).

    P.S.: GetVehicleModel тоже вернёт 0, если транспортного средства по указанному ID не существует.
    Последний раз редактировалось L0ndl3m; 08.12.2016 в 01:25.

  4. #4
    Аватар для Mesto
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.12.2016
    Сообщений
    18
    Репутация:
    0 ±
    Все равно дебаги идут, помогите пожалуйста !! заплачу даже

  5. #5
    Аватар для Mesto
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.12.2016
    Сообщений
    18
    Репутация:
    0 ±
    Я заметил, когда некоторые игроки заходят на сервер, появляется этот дебаг ! Время возникновения дебага такое же как и при заходе, у всех так почти

    [16:31:52] [save] Merlin_Karta, string: 287
    [16:31:52] [part] Merlin_Karta has left the server (16:1)
    [16:31:52] [debug] Run time error 4: "Array index out of bounds"
    [16:31:52] [debug] Attempted to read/write array element at negative index -400
    [16:31:52] [debug] AMX backtrace:
    [16:31:52] [debug] #0 0019d004 in public UpdateTimer () at D:\serv\gamemodes\new.pwn:23046


    [18:16:32] [save] Silvester_Bring, string: 271
    [18:16:32] [part] Silvester_Bring has left the server (10:1)
    [18:16:32] [debug] Run time error 4: "Array index out of bounds"
    [18:16:32] [debug] Attempted to read/write array element at negative index -400
    [18:16:32] [debug] AMX backtrace:
    [18:16:32] [debug] #0 0019d004 in public UpdateTimer () at D:\serv\gamemodes\new.pwn:23046

    [17:54:46] [save] Seclo_Funo, string: 287
    [17:54:46] [part] Seclo_Funo has left the server (19:1)
    [17:54:46] [debug] Run time error 4: "Array index out of bounds"
    [17:54:46] [debug] Attempted to read/write array element at negative index -400
    [17:54:46] [debug] AMX backtrace:
    [17:54:46] [debug] #0 0019d004 in public UpdateTimer () at D:\serv\gamemodes\new.pwn:23046
    Последний раз редактировалось Mesto; 19.12.2016 в 19:18.

  6. #6
    Аватар для [ForD]
    Пользователь

    Статус
    Оффлайн
    Регистрация
    14.11.2013
    Адрес
    Свердловская обл.
    Сообщений
    688
    Репутация:
    103 ±
    Цитата Сообщение от Mesto Посмотреть сообщение
    Я заметил, когда некоторые игроки заходят на сервер, появляется этот дебаг ! Время возникновения дебага такое же как и при заходе, у всех так почти

    [16:31:52] [save] Merlin_Karta, string: 287
    [16:31:52] [part] Merlin_Karta has left the server (16:1)
    [16:31:52] [debug] Run time error 4: "Array index out of bounds"
    [16:31:52] [debug] Attempted to read/write array element at negative index -400
    [16:31:52] [debug] AMX backtrace:
    [16:31:52] [debug] #0 0019d004 in public UpdateTimer () at D:\serv\gamemodes\new.pwn:23046


    [18:16:32] [save] Silvester_Bring, string: 271
    [18:16:32] [part] Silvester_Bring has left the server (10:1)
    [18:16:32] [debug] Run time error 4: "Array index out of bounds"
    [18:16:32] [debug] Attempted to read/write array element at negative index -400
    [18:16:32] [debug] AMX backtrace:
    [18:16:32] [debug] #0 0019d004 in public UpdateTimer () at D:\serv\gamemodes\new.pwn:23046

    [17:54:46] [save] Seclo_Funo, string: 287
    [17:54:46] [part] Seclo_Funo has left the server (19:1)
    [17:54:46] [debug] Run time error 4: "Array index out of bounds"
    [17:54:46] [debug] Attempted to read/write array element at negative index -400
    [17:54:46] [debug] AMX backtrace:
    [17:54:46] [debug] #0 0019d004 in public UpdateTimer () at D:\serv\gamemodes\new.pwn:23046
    Точнее выходят с сервера
    PAWN Compiler делает то, что вы приказали ему сделать, а не то, что вы хотели, чтобы он сделал..

    25% времени в программировании уходит на размышления о том, что пользователь может сделать не так.[HR]/Брайан Хьюмс/





    #FIXSAMP

  7. #7
    Аватар для Mesto
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.12.2016
    Сообщений
    18
    Репутация:
    0 ±
    Цитата Сообщение от [ForD] Посмотреть сообщение
    Точнее выходят с сервера
    а как решить проблему можете помочь ? я заплачу если нужно
    проблема еще появляется когда гонки заканчиваются
    Последний раз редактировалось Mesto; 19.12.2016 в 19:36.

  8. #8
    Аватар для Mesto
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.12.2016
    Сообщений
    18
    Репутация:
    0 ±
    может так сделать if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER && IsPlayerConnected(playerid))???

  9. #9
    Аватар для ziggi
    Проверенный

    Статус
    Оффлайн
    Регистрация
    14.05.2015
    Сообщений
    1,181
    Репутация:
    790 ±
    PHP код:
            new vehid GetPlayerVehicleID(playerid); 
            if(
    vehid && GetPlayerState(playerid) == PLAYER_STATE_DRIVER
            { 
                new 
    string[80]; 
                new 
    Float:XFloat:YFloat:ZFloat:X2Float:Y2Float:Z2
                new 
    Float:velocmodelid GetVehicleModel(vehid)-400

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •