Проблема с Deathmatch Team Balancer

Тема в разделе "Общие вопросы", создана пользователем OffsprinG, 1 авг 2013.

  1. OffsprinG

    OffsprinG

    Сообщения:
    59
    Симпатии:
    16
    Уважаемые, кто может подсказать в чем проблема:
    Данный плагин справляется со своей задачей хорошо, но есть некие проблемы в его работе, а именно: когда плагин загружаю (sm plugins load) - он работает, но после смены карты - снова не работает, но загружен. Единственный вариант - каждый раз его в ручную перезагружать, но это глупо.
    Я полагаю что в самом плагине ошибка, возможно у кого то будут какие то идеи по-этому поводу? Кто понимает в павне - посмотрите, может найдете ошибку)
     
  2. R1KO

    R1KO Супер-модератор

    Сообщения:
    5.987
    Симпатии:
    2.985
    в логах нет ошибок ?
     
  3. OffsprinG

    OffsprinG

    Сообщения:
    59
    Симпатии:
    16
    Обижаешь) Все чисто.
     
  4. kv.acid

    kv.acid Супер-модератор

    Сообщения:
    2.033
    Симпатии:
    767
    пока знатоки SP нет появились, а плагин очень нужен, то добавь sm plugins load dmtb.smx в любой выполняемый конфиг :)
     
  5. OffsprinG

    OffsprinG

    Сообщения:
    59
    Симпатии:
    16
    Так тоже экспериментировал - не получается. Но делал изначально unload потом load.
     
  6. The End Is Near...

    The End Is Near... Russian Roulette

    Сообщения:
    893
    Симпатии:
    659
    PHP:
    #include <sourcemod>

    #define FILE "dmtb.smx"

    new Handle:hPlugin INVALID_HANDLE;

    public 
    OnAllPluginsLoaded()
    {
        
    hPlugin FindPluginByFile(FILE);
    }

    public 
    OnMapStart()
    {
        
    CreateTimer(1.0Timer_TIMER_FLAG_NO_MAPCHANGE);
    }

    public 
    Action:Timer(Handle:timer)
    {
        
    SetFailState("%s    :    %d"FILEGetPluginStatus(hPlugin));
    }
    Проверь, затем скинь сюда ответ плагина
     
    Последнее редактирование: 2 авг 2013
    OffsprinG нравится это.
  7. FrozDark

    FrozDark Команда сайта HLMod Модератор

    Сообщения:
    1.761
    Симпатии:
    1.915
    слишком рано получаешь плагин, нужно в OnAllPluginsLoaded
     
    OffsprinG и The End Is Near... нравится это.
  8. OffsprinG

    OffsprinG

    Сообщения:
    59
    Симпатии:
    16
    The End Is Near..., если я все правильно понял, то - я скомпилировал твой код и кинул плагин.
    Бьет ошибки:
    Код:
    L 08/02/2013 - 16:07:40: SourceMod error session started
    L 08/02/2013 - 16:07:40: Info (map "gg_deagel_x") (file "errors_20130802.log")
    L 08/02/2013 - 16:07:40: [SM] Plugin encountered error 25: Call was aborted
    L 08/02/2013 - 16:07:40: [SM] Native "SetFailState" reported: dmtb.smx    :    0
    L 08/02/2013 - 16:07:40: [SM] Displaying call stack trace for plugin "dmtb-fix.smx":
    L 08/02/2013 - 16:07:40: [SM]   [0]  Line 19, dmtb-fix.sp::Timer()
    L 08/02/2013 - 16:07:53: Error log file session closed.
     
  9. The End Is Near...

    The End Is Near... Russian Roulette

    Сообщения:
    893
    Симпатии:
    659
    OffsprinG
    Попробуй такой код, когда не будет работать баланс, введи команду test в консоль и результат сюда
    PHP:
    #include <sourcemod>

    #define FILE "dmtb.smx"

    new Handle:hPlugin INVALID_HANDLE;

    public 
    OnPluginStart()
    {
        
    RegConsoleCmd("test"CallBack);
    }

    public 
    OnAllPluginsLoaded()
    {
        
    hPlugin FindPluginByFile(FILE);
    }

    public 
    Action:CallBack(clientargs)
    {
        
    ReplyToCommand(client"%s : %d"FILEGetPluginStatus(hPlugin));

        return 
    Plugin_Handled;
    }
    Или другой вариант
    Данный код просто будет перезагружать плагин через секунду после смены карты
    PHP:
    #include <sourcemod>

    #define FILE "dmtb"

    public OnMapStart()
    {
        
    CreateTimer(1.0Timer_TIMER_FLAG_NO_MAPCHANGE);
    }

    public 
    Action:Timer(Handle:timer)
    {
        
    ServerCommand("sm plugins reload %s"FILE);
    }
     
    OffsprinG нравится это.
  10. OffsprinG

    OffsprinG

    Сообщения:
    59
    Симпатии:
    16
    Решил использовать 2й вариант. Это работает прекрасно. Тему можете закрывать.
    Благодарю всех кто принимал участие в решении проблемы ;)