Здравствуйте, гость ( Вход | Регистрация )

2 страниц V < 1 2  
Ответить в эту темуОткрыть новую тему
> Вопрос по секторам, Не спят мобы, бьют друг дружку.
Aimed
сообщение 27.2.2017, 20:57
Сообщение #21


*********

Grandmaster
Сообщений: 2.250
Регистрация: 29.12.2012
Группа: Пользователи
Наличность: 8846
Пользователь №: 15.607



Mirage, попробуй одну из последних версий Сферы.
Если там не выставлен никакой из этих флагов:
Код
[DEFNAME sector_flags]
secf_nosleep 01 //sector will never sleep, this flag take over secf_instasleep
secf_instasleep 02 //sector will sleep as soon as there is no active client inside


То судя по коду ниже, сектор просто должен засыпать и все должно работать. Возможно конкретно в твоей сборке баг. И вобще нужен конкретный номер билда, что-бы понять какая там была версия кода, иначе в этом не разобраться никак.

Код
inline bool CSector::IsSectorSleeping() const
{
    ADDTOCALLSTACK_INTENSIVE("CSector::IsSectorSleeping");
    if ( IsFlagSet(SECF_NoSleep) )
        return false;    // never sleep

    if ( IsFlagSet(SECF_InstaSleep) )
    {
        if ( m_Chars_Active.HasClients() > 0 )
            return false;    // has at least one client, no sleep
        else
            return true;    // no active client inside, instant sleep
    }

    //default behaviour
    return (-g_World.GetTimeDiff(GetLastClientTime()) > 10 * 60 * TICK_PER_SEC);
}



Вот проверка с вызовом этого метода в CSector::OnTick()
Код
    if ( clients <= 0 ) // having no clients inside
    {
        // Put the sector to sleep if no clients been here in a while.
        fSleeping = IsSectorSleeping();
        if ( fSleeping )
        {
            if ( !g_Cfg.m_iSectorSleepMask )
                return;
            if (( iPulseCount & g_Cfg.m_iSectorSleepMask ) != ( GetIndex() & g_Cfg.m_iSectorSleepMask ))
                return;
        }
    }


Цитата(kklej @ 27.2.2017, 18:08) *

ты как петух на жордочке, сидишь и кукарекаешь в каждой теме и преследуешь меня. Отлезь уже и найди себе девушку.


Твои сообщения не несут в себе смысла. Ладно б ты флудил про охоту на драконов в общем разделе, а тут вполне конкретные вопросы задают и отвечать следует так-же.

Ещё нашел код за саму слип маску отвечающий. Возможно в нем есть баг, особо не вникал, надо идти домой уже:
Код

        case RC_SECTORSLEEP:
            {
                int sleep = s.GetArgVal();
                m_iSectorSleepMask = sleep ? (( 1 << sleep) - 1) : 0;
            }
            break;


Это тот сеттинг о котором Хосе на первой странице писал.
Этот код парсит значение из ини файла.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
kklej
сообщение 27.2.2017, 21:05
Сообщение #22


******

Группа: Пользователи
Наличность: 14775
Пользователь №: 13.346



ооооййй ланаадно писарь правил)))) тут к твоему сведенью и делятся скриптами. Мираж, как у тебя получитца напиши пожалуйста. А этот машинный код не все понимают.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Mirage
сообщение 28.2.2017, 0:47
Сообщение #23


*******

Группа: Пользователи
Наличность: 0
Из: Иваново
Пользователь №: 13.089
Возраст: 35



Так, на 90% проблему решил. Спасибо Хосану за наводку, Aimed за разжевку и мне за кривые руки и красные глаза (IMG:style_emoticons/default/smile.gif))

Дело действительно оказалось в SectorSleep но как то странно.
Найтбилд 2008 года один из основных кого тестировал оказался действительно битым, причем видимо изза харда. Распаковав копию 2010 года из архива с другого жесткого сфера стала реагировать на изменения команды. Стабильная версия compiled at Sep 20 2009 сразу реагировала НО! практически одинакого в диапазоне от 1 до 30. И еще НО при значении 0 ИЛИ 32 стало работать как требовалось. Мобы подуспокоились, респанится перестали.
Кидаю в данж мисс смерть, она начинает атаковать, выхожу, сохраняюсь и перезапускаю сферу, слежу за консолью. В течении нескольких минут ничего не изменяется - чары, предметы и память не меняется. Как только захожу в территорию где гуляет Мисска - она кидается на мобов и наинает смертоубийство. Выхожу из игры - какое то время она продалжаит угнетать население данжа потом успокаивается.
При значениях (выборочно) 1, 7, 10, 20 сфера сразу после запуска и до захода чара сходила с ума. Спавн мобов в течении минуты мог увеличиться на 200-300 особей, потом сократиться на 100.
В общем крайне непонятный параметр. Буду тестировать дальше.
Спасибо за помощь и понимание нубосфероскриптера :Р

kklej черкни мне в скайп или аську - на yoko и то и то есть в профиле, обяснишь подробнее что тебе треба.

PS сбило с толку то что при админе чары продолжали вести бой хотя не должны были и то что кроме крайних точек особого влияния на респы не почуял. (IMG:style_emoticons/default/smile.gif)


--------------------
Изображение
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
Aimed
сообщение 28.2.2017, 2:00
Сообщение #24


*********

Grandmaster
Сообщений: 2.250
Регистрация: 29.12.2012
Группа: Пользователи
Наличность: 8846
Пользователь №: 15.607



Понакатал тут, потом смотрю первый пост, - билд не ночной (:
Красавчик что разобрался.
Пользователь в офлайнеDelete PostОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

2 страниц V < 1 2
Ответить в эту темуОткрыть новую тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия | Версия для КПК Сейчас: 28.3.2024, 14:31
Designed by Nickostyle