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

    Статус
    Оффлайн
    Регистрация
    26.02.2016
    Сообщений
    301
    Репутация:
    7 ±

    Крашит сервер из-за новой версии Streamer

    Поставил версию v2.9 Streamer для своего скрипта FEZ и стало крашить сервер при создании камеры (код ниже). Крашдетект вообще никак не реагирует. При этом если версию Streamer откатить на одну назад - все нормально, но хочу юзать эту именно из-за актеров. Баг походу именно в плагине...

    В OnPlayerEditDynamicObject(playerid, objectid, response, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz)

    PHP код:
    SetDynamicObjectPos(objectidxyz);
    SetDynamicObjectRot(objectidrxryrz);

    if(
    response == EDIT_RESPONSE_FINAL)
        {
            if(
    objectid == ObjectAddCamers[playerid])
            {
                
    DestroyDynamicObject(objectid);

                if(
    TypeAddCamers{playerid} == 1)
                {
                    switch(
    ActAddCamers{playerid})
                    {
                        case 
    0:
                        {
                            
    PosAddCamers[0][ArryIDAddCamers{playerid}][playerid] = x;
                            
    PosAddCamers[1][ArryIDAddCamers{playerid}][playerid] = y;
                            
    PosAddCamers[2][ArryIDAddCamers{playerid}][playerid] = z;

                            
    ObjectAddCamers[playerid] = CreateDynamicObject(19483x1.0z0.00.00.0, -1, -1playerid);
                            
    SetDynamicObjectMaterialText(ObjectAddCamers[playerid], 0"№"140"webdings"1500, -101);
                            
    EditDynamicObject(playeridObjectAddCamers[playerid]);

                            
    SPN(playerid"Выберите куда будет смотреть камера.");
                        }
                        case 
    1:
                        {
                            
    PosAddCamers[3][ArryIDAddCamers{playerid}][playerid] = x;
                            
    PosAddCamers[4][ArryIDAddCamers{playerid}][playerid] = y;
                            
    PosAddCamers[5][ArryIDAddCamers{playerid}][playerid] = z;

                            
    format(gstringsizeof(gstring), "Камера создана. ID %d."ArryIDAddCamers{playerid});
                            
    SPN(playeridgstring);

                            
    ObjectAddCamers[playerid] = 0;
                            
    AllCamersForPlayer{playerid}++;
                            
    ArryIDAddCamers{playerid} = 0;
                            
    TypeAddCamers{playerid} = 0;

                            return 
    1;
                        }
                    }

                    
    ActAddCamers{playerid}++;
                }
                else if(
    TypeAddCamers{playerid} == 2)
                {
                    switch(
    ActAddCamers{playerid})
                    {
                        case 
    0:
                        {
                            
    PosAddCamers[0][ArryIDAddCamers{playerid}][playerid] = x;
                            
    PosAddCamers[1][ArryIDAddCamers{playerid}][playerid] = y;
                            
    PosAddCamers[2][ArryIDAddCamers{playerid}][playerid] = z;

                            
    ObjectAddCamers[playerid] = CreateDynamicObject(19483x1.0z0.00.00.0, -1, -1playerid);
                            
    SetDynamicObjectMaterialText(ObjectAddCamers[playerid], 0"№"140"webdings"1500, -101);
                            
    EditDynamicObject(playeridObjectAddCamers[playerid]);

                            
    SPN(playerid"Выберите куда будет смотреть камера (отсюда начнется двигаться камера).");
                        }
                        case 
    1:
                        {
                            
    PosAddCamers[3][ArryIDAddCamers{playerid}][playerid] = x;
                            
    PosAddCamers[4][ArryIDAddCamers{playerid}][playerid] = y;
                            
    PosAddCamers[5][ArryIDAddCamers{playerid}][playerid] = z;

                            
    ObjectAddCamers[playerid] = CreateDynamicObject(19483x1.0z0.00.00.0, -1, -1playerid);
                            
    SetDynamicObjectMaterialText(ObjectAddCamers[playerid], 0"№"140"webdings"1500, -101);
                            
    EditDynamicObject(playeridObjectAddCamers[playerid]);

                            
    SPN(playerid"Выберите откуда будет смотреть камера (сюда начнется двигаться камера).");
                        }
                        case 
    2:
                        {
                            
    PosAddCamers[6][ArryIDAddCamers{playerid}][playerid] = x;
                            
    PosAddCamers[7][ArryIDAddCamers{playerid}][playerid] = y;
                            
    PosAddCamers[8][ArryIDAddCamers{playerid}][playerid] = z;

                            
    ObjectAddCamers[playerid] = CreateDynamicObject(19483x1.0z0.00.00.0, -1, -1playerid);
                            
    SetDynamicObjectMaterialText(ObjectAddCamers[playerid], 0"№"140"webdings"1500, -101);
                            
    EditDynamicObject(playeridObjectAddCamers[playerid]);

                                                    
    // ВРОДЕ БЫ КАК КРАШИТ ИМЕННО НА ЭТОТ МОМЕНТЕ

                            
    SPN(playerid"Выберите куда будет смотреть камера (сюда начнется двигаться камера).");
                        }
                        case 
    3:
                        {
                            
    PosAddCamers[9][ArryIDAddCamers{playerid}][playerid] = x;
                            
    PosAddCamers[10][ArryIDAddCamers{playerid}][playerid] = y;
                            
    PosAddCamers[11][ArryIDAddCamers{playerid}][playerid] = z;

                            
    format(gstringsizeof(gstring), "Камера создана. ID %d."ArryIDAddCamers{playerid});
                            
    SPN(playeridgstring);

                            
    ObjectAddCamers[playerid] = 0;
                            
    AllCamersForPlayer{playerid}++;
                            
    ArryIDAddCamers{playerid} = 0;

                            
    TypeAddCamers{playerid} = 0;

                            return 
    1;
                        }
                    }

                    
    ActAddCamers{playerid}++;
                }
            } 
    Комментарием пометил примерно где крашит, точно узнать не удалось. Сообщить именно автору плагина влом))0 Регаться там надо.... Может кто сообщит?

    ps ДА да да да да да быдлокод комраш гадасть мои глазаааа

    - - - Добавлено - - -

    Эмммм, что-то вообще странно как-то... При краше сервера еще создается файл FCNPC:

    PHP код:
    =========================== FCNPC Exception Handler ============================
    Address0x609f42c6

    Registers
    :
    EAX0x6aa150 EBX0x680d60 ECX0x0 EDX0x0
    ESI
    0x680990 EDI0x0 EBP0x19fcc4 ESP0x19fca0

    Stack
    :
    0x00x19fdd0 0x40x695420 0x80x48 0xC0x680e30 0x100x0 0x140x19fdd0
    0x18
    0x19fd24 0x1C0x60a23f32 0x200x1

    Information
    :
      
    SystemWindows
      SA
    -MP0.3.7 R2-1
      FCNPC
    1.7.0

    Functions
    :
      
    FUNC_CPlayerPool__DeletePlayer0x466570
      FUNC_CPlayer__Kill
    0x484620
      FUNC_CPlayer__EnterVehicle
    0x484c70
      FUNC_CPlayer__ExitVehicle
    0x484f50
      FUNC_CPlayer__SpawnForWorld
    0x486d30
      FUNC_GetVehicleModelInfo
    0x488240
      FUNC_CConsole__GetIntVariable
    0x48b5b0
      FUNC_ClientJoin_RPC
    0x4918f0

    Pointers
    :
      
    VAR_ServerAuthentication0x4f5fe8
      VAR_NetVersion
    0xfd9

    Offsets
    :
      
    OFFSET_RemoteSystemManager0x33c
      OFFSET_RemoteSystemSize
    0xcb8
      OFFSET_RemoteSystem__ConnectMode
    0xcb0
      OFFSET_RemoteSystem__Unknown
    0xcb5
    =========================== FCNPC Exception Handler ============================ 
    - - - Добавлено - - -

    Эмммммммммммммммммммммммммммммммммммммм..... Вообще как-то странно, выяснилось что крашит именно в радиусе 10 - 15 этих координат:

    PHP код:
    -1895.6558,965.8510,35.0222 
    Что это за бермудский треугольник?

    - - - Добавлено - - -

    Если что, примерно на этих координатах я начинал запись NPC бота, и потом его проигрывал... Конечно это может быть совпадением, но все же...

    - - - Добавлено - - -

    Интересно узнать, каким образом FCNPC и создание динамического объекта связаны?

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

    Статус
    Оффлайн
    Регистрация
    14.05.2015
    Сообщений
    1,181
    Репутация:
    790 ±
    FCNPC просто отлавливает падение и выдаёт этот отчёт, причина может быть где угодно. Но попробуй запустить без FCNPC. Ещё можешь попробовать версию из этого поста (там есть какие-то исправления для актёров): http://forum.sa-mp.com/showpost.php?...postcount=5613
    Последний раз редактировалось ziggi; 15.04.2017 в 08:21.

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

    Статус
    Оффлайн
    Регистрация
    26.02.2016
    Сообщений
    301
    Репутация:
    7 ±
    Сегодня сервер крашнуло опять.... Только теперь просто так..... Ехал на машине - краш.... Мне так и не удалось выяснить из-за какого плагина происходит краш, потому, что это как-то рандомно возникает (при создании камеры это было просто совпадение).... Но именно либо из-за FCNPC (1.7) или Streamer (v2.9) (именно после обновления этих плагинов такая хрень началась)...

    PHP код:
    =========================== FCNPC Exception Handler ============================
    Address0x5a7242c6

    Registers
    :
    EAX0x6f6c60 EBX0x6fb3e0 ECX0x0 EDX0x0
    ESI
    0x6d0c30 EDI0x0 EBP0x19fcc4 ESP0x19fca0

    Stack
    :
    0x00x19fdd0 0x40x6e56c8 0x80x48 0xC0x6fb4b0 0x100x0 0x140x19fdd0
    0x18
    0x19fd24 0x1C0x5a753f32 0x200x1

    Information
    :
      
    SystemWindows
      SA
    -MP0.3.7 R2-1
      FCNPC
    1.7.0

    Functions
    :
      
    FUNC_CPlayerPool__DeletePlayer0x466570
      FUNC_CPlayer__Kill
    0x484620
      FUNC_CPlayer__EnterVehicle
    0x484c70
      FUNC_CPlayer__ExitVehicle
    0x484f50
      FUNC_CPlayer__SpawnForWorld
    0x486d30
      FUNC_GetVehicleModelInfo
    0x488240
      FUNC_CConsole__GetIntVariable
    0x48b5b0
      FUNC_ClientJoin_RPC
    0x4918f0

    Pointers
    :
      
    VAR_ServerAuthentication0x4f5fe8
      VAR_NetVersion
    0xfd9

    Offsets
    :
      
    OFFSET_RemoteSystemManager0x33c
      OFFSET_RemoteSystemSize
    0xcb8
      OFFSET_RemoteSystem__ConnectMode
    0xcb0
      OFFSET_RemoteSystem__Unknown
    0xcb5
    =========================== FCNPC Exception Handler ============================ 
    - - - Добавлено - - -

    Или вообще при связи FCNPC и Streamer...

    - - - Добавлено - - -

    И то скорее всего происходит это из-за стримера, функциями FCNPC после включения сервера не пользовался, а вот Streamer'а да.... А если еще дальше рыть... То из-за паблика OnPlayerEditDynamicObject скорее всего...

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

    Статус
    Оффлайн
    Регистрация
    26.02.2016
    Сообщений
    301
    Репутация:
    7 ±
    Отключил FCNPC - крашет реально из-за стримера. Может кто-то разрабу написать?

    - - - Добавлено - - -

    UPD вышла обнова его с фиксом краша, не заметил
    Последний раз редактировалось KrutoyKrosch; 24.04.2017 в 21:03.

 

 

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

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

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

Ваши права

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