Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 3 из 9 ПерваяПервая 1 2 3 4 5 ... ПоследняяПоследняя
Показано с 21 по 30 из 88
  1. #21
    Аватар для Igor_Stalker
    Пользователь

    Статус
    Оффлайн
    Регистрация
    01.01.2016
    Адрес
    minsk
    Сообщений
    40
    Репутация:
    2 ±
    Цитата Сообщение от VVWVV Посмотреть сообщение
    Лучше не использовать библиотеку crp, т.к. в ней неправильно перехвачены функции.
    Окей,а с рекурсией что делать?При включении инклуда сразу появляется,при выключении рекурсии нет.

  2. #22
    Аватар для VVWVV
    ?

    Статус
    Оффлайн
    Регистрация
    09.07.2015
    Сообщений
    731
    Репутация:
    353 ±
    Цитата Сообщение от Igor_Stalker Посмотреть сообщение
    Окей,а с рекурсией что делать?При включении инклуда сразу появляется,при выключении рекурсии нет.
    К сожалению, но я не видел вашего инклюда, поэтому не могу указать на вашу проблему.

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

    Статус
    Оффлайн
    Регистрация
    01.01.2016
    Адрес
    minsk
    Сообщений
    40
    Репутация:
    2 ±
    Цитата Сообщение от VVWVV Посмотреть сообщение
    К сожалению, но я не видел вашего инклюда, поэтому не могу указать на вашу проблему.
    Вы наверное не так поняли,рекурсия в моде возникает из-за инклуда fixes из этой темы.

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

    Статус
    Оффлайн
    Регистрация
    31.07.2014
    Сообщений
    54
    Репутация:
    3 ±
    Цитата Сообщение от Igor_Stalker Посмотреть сообщение
    Вы наверное не так поняли,рекурсия в моде возникает из-за инклуда fixes из этой темы.
    Да, кстати, очень актуально. Сам плагин CRP старый, и похоже автор не знал в то время про перехваты функций, и задефайнил самым обычным способом, из-за чего и возникают подобные ошибки.
    Это во-первых, во-вторых там нет поддержки для PlayerTextDraw's, из-за того, что они появились в 0.3e в 2012 году, тогда как плагин сам 2011.

    Решение, что сделал у себя:

    1. Закомментируй строки
    PHP код:
    #define GameTextForAll             GameTextForAllRus
    #define GameTextForPlayer         GameTextForPlayerRus
    #define CreateMenu                 CreateMenuRus
    #define AddMenuItem             AddMenuItemRus
    #define SetMenuColumnHeader     SetMenuColumnHeaderRus
    #define TextDrawCreate             TextDrawCreateRus
    #define TextDrawSetString         TextDrawSetStringRus
    #define CreatePlayerTextDraw    CreatePlayerTextDrawRus
    #define PlayerTextDrawSetString    PlayerTextDrawSetStringRus 

    2.Сделать перехватички для всех нативных функий

    Пример с GameTextForAll:
    PHP код:
    stock crp_GameTextForAll(string[], timestyle)
    {
        
    CRP(stringbuffer);
        return 
    GameTextForAll(buffertimestyle);
    }
    #if defined _ALS_GameTextForAll
        #undef GameTextForAll
    #else
        #define _ALS_GameTextForAll
    #endif
    #define GameTextForAll crp_GameTextForAll 
    Точно таким же образом и для всех остальных функций

    3. Добавить перехватчики для CreatePlayerTextDraw() и PlayerTextDrawSetString():

    PHP код:
    stock PlayerText:crp_CreatePlayerTextDraw(playeridFloat:xFloat:ytext[])
    {
        
    CRP(textbuffer);
        return 
    CreatePlayerTextDraw(playeridxybuffer);
    }
    #if defined _ALS_CreatePlayerTextDraw
        #undef CreatePlayerTextDraw
    #else
        #define _ALS_CreatePlayerTextDraw
    #endif
    #define CreatePlayerTextDraw crp_CreatePlayerTextDraw

    // -------------------------------------------------------------------------------------*-

    stock crp_PlayerTextDrawSetString(playeridPlayerText:textstring[])
    {
        
    CRP(stringbuffer);
        return 
    PlayerTextDrawSetString(playeridtextbuffer);
    }
    #if defined _ALS_PlayerTextDrawSetString
        #undef PlayerTextDrawSetString
    #else
        #define _ALS_PlayerTextDrawSetString
    #endif
    #define PlayerTextDrawSetString crp_PlayerTextDrawSetString 
    Последний раз редактировалось Glant; 12.08.2016 в 13:10.

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

    Статус
    Оффлайн
    Регистрация
    01.01.2016
    Адрес
    minsk
    Сообщений
    40
    Репутация:
    2 ±
    Я спрашивал,почему возникает рекурсия из-за инклуда fixes!
    Последний раз редактировалось Igor_Stalker; 12.08.2016 в 15:43.

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

    Статус
    Оффлайн
    Регистрация
    14.05.2015
    Сообщений
    1,181
    Репутация:
    790 ±
    Цитата Сообщение от Igor_Stalker Посмотреть сообщение
    Я спрашивал,почему возникает рекурсия из-за инклуда fixes!
    Наверное потому, что где-то в fixes используется рекурсия, ничего страшного в этом нет.

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

    Статус
    Оффлайн
    Регистрация
    15.08.2015
    Сообщений
    106
    Репутация:
    8 ±
    Цитата Сообщение от Igor_Stalker Посмотреть сообщение
    Я спрашивал,почему возникает рекурсия из-за инклуда fixes!
    Я только в одном месте нашел баг, если юзать SetPlayerSkin в OnPlayerKeyStateChange, тогда будет и рекурсия

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

    Статус
    Оффлайн
    Регистрация
    08.12.2015
    Адрес
    San Fierro
    Сообщений
    217
    Репутация:
    39 ±
    Чем она мешает, вы что, все помешались на этой рекурсии?!

  9. #29
    Аватар для Daniel_Cortez
    "Это не хак, это фича"

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2589 ±
    Цитата Сообщение от TheMallard Посмотреть сообщение
    Чем она мешает
    Тем, что она не позволяет компилятору вывести статистику по использованию стека? Особенно, когда есть способы сделать рекурсию, не повлияв на показания компилятора.
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

  10. Пользователь сказал cпасибо:
    vovandolg (13.08.2016)
  11. #30
    Аватар для vovandolg
    Пользователь

    Статус
    Оффлайн
    Регистрация
    17.11.2015
    Адрес
    Stavropol
    Сообщений
    1,369
    Репутация:
    113 ±
    А ещё иногда такое бывает когда пластинку заедает и она начинает повторятся, тем самым сервер всё больше и больше нагружается, но это уже быдлокоды такое исполняют.
    [Anticheat]___Invisible Fly Hack
    [Anticheat]____Weapon/Ammo Hack
    [Function]______ResetPlayerWeaponSlot
    [Function]_______FIX_SetPlayerAmmo
    [ServerMod]______TDM | Zombie Apokalypse

 

 
Страница 3 из 9 ПерваяПервая 1 2 3 4 5 ... ПоследняяПоследняя

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

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

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

Ваши права

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