1. Гость, мы просим Вас ознакомиться с Правилами Форума и Отказом от ответственности!

1.5.5 (156) Ошибки из world2.err

Тема в разделе 'PW Вопросник', создана пользователем Allow, 6 апр 2019.

  1. TopicStarter Overlay

    Allow Пользователи

    Сообщения:
    24
    Лайки:
    7
    Пол:
    Мужской
    Репутация:
    0
    Команда:
    Allow
    Страна:
    Belarus Belarus
    Здравствуйте.
    Я знаю перевод ошибок, но не могу понять при каких условиях они срабатывают, чего не хватает

    Код:
    22:45:20 gdeliveryd: warning : kingelection startup, status=vote
    Запущен выбор короля, хорошо, в чем смысл предупреждения, что идет этап голосования?

    Код:
    22:45:27 gdeliveryd: err : gdelivery:: disconnect from GameDB
    22:45:27 gdeliveryd: err : Map already loaded. status=41
    
    Самое интересное, почему disconnect from GameDB ? Если при этом все хорошо работает, и это уже не предупреждение, а ошибка.
    Ну и Map already loaded. status=41 (карта уже была загружена, при этом я не могу допустим через пв админ запустить 2/3/4 раза подряд карту, как она могла уже быть запущена?
    Статус - как узнать значимость id статуса? Какие есть еще айди ошибок статусов? И что они значат

    Код:
    gamed: err : roleid:59584 lose a invalid title[72] 
    Тоже интересный момент, айди перса, недействительный титул, но как такое может быть, ошибки типа выдать неправильный айди титула быть не может, так как проверяю только на существующих id титулов.
    Упоминается [72] что это?
  2. alexdnepro Эксперт AngeliCore Пользователи Open Source Contributor White List

    Сообщения:
    753
    Лайки:
    1.311
    Пол:
    Мужской
    Репутация:
    6
    Да, это просто информация

    Возможно в gs.conf или gsalias.conf есть какие-то конфликты с ID локаций

    72 - айди проблемного титула, который прописан на персонаже, но отсутствует в elements.data
    Allow и NEO нравится это.
  3. loko9988 B L A C K    L I S T Пользователи

    Сообщения:
    758
    Лайки:
    238
    Пол:
    Мужской
    Репутация:
    1
    Код:
    void KingElection::OnDBLoad(KingElectionDetail & detail)
    {
        if(_status == ST_INIT)
        {
            _king = detail.king;
            _candidate_list.swap(detail.candidate_list);
    
            for(size_t i=0; i<_candidate_list.size(); i++)
            {
                if(_candidate_list[i].serial_num > _max_serial_num) _max_serial_num = _candidate_list[i].serial_num;
            }
       
            time_t cur_time = UpdateTime();
            int weekoffset = cur_time - _week_begin;
    
            if(weekoffset >= CANDIDATE_APPLY_BEGIN_TIME && weekoffset < CANDIDATE_APPLY_END_TIME) _status = ST_CANDIDATE_APPLY;
            else if(weekoffset >= CANDIDATE_APPLY_END_TIME && weekoffset < VOTE_BEGIN_TIME)    _status = ST_WAIT_VOTE;
            else if(weekoffset >= VOTE_BEGIN_TIME && weekoffset < VOTE_END_TIME) _status = ST_VOTE;
            else _status = ST_OPEN;
            if(_status != ST_OPEN) Log::log(LOG_WARNING, "kingelection startup, status=%s", Status2Str(_status));
    
            if(_king.roleid > 0)
            {
                if(cur_time >= _king.end_time || _status != ST_OPEN)
                {
                    int reason = cur_time > _king.end_time ? DELKING_REASON_EXPIRE : DELKING_REASON_ERROR;
                    Log::log(LOG_WARNING, "kingelection startup, status=%s, delete king, kingid=%d reason=%d", Status2Str(_status), _king.roleid, reason);
                    __DeleteKing(reason);
                }
            }
            if(_candidate_list.size())
            {
                if(_status == ST_OPEN)
                {
                    bool recover_king = false;
                    if(weekoffset >= VOTE_END_TIME)
                    {
                        for(size_t i=0; i<_candidate_list.size(); i++)
                        {
                            if(_candidate_list[i].votes > 0)
                            {
                                recover_king = true;
                                break;
                            }
                        }
                    }
                    if(recover_king)
                    {
                        __GenerateKing();
                        Log::log(LOG_WARNING, "kingelection startup, status=%s, generate king, kingid=%d", Status2Str(_status), _king.roleid);
                    }
                    else
                    {
                        Log::log(LOG_WARNING, "kingelection startup, status=%s, delete candidate, count=%d", Status2Str(_status), _candidate_list.size());
                        __DeleteCandidate(DELCANDIDATE_REASON_ERROR);
                    }
                }
                else if(_status == ST_WAIT_VOTE || _status == ST_VOTE)
                {
                    if(_candidate_list.size() > CANDIDATE_MAX)
                    {
                        Log::log(LOG_WARNING, "kingelection startup, status=%s, generate candidate, count=%d", Status2Str(_status), _candidate_list.size());
                        __GenerateCandidate();
                    }
                }
            }
        }
    }
    Код:
    void GameDBClient::OnDelSession(Session::ID sid)
    {
        Thread::Mutex::Scoped l(locker_state);
        conn_state = false;
        Reconnect();
        //TODO
        Log::log(LOG_ERR,"gdelivery:: disconnect from GameDB\n");
    }
    Код:
    bool BattleManager::LoadMap(std::vector<GTerritoryDetail>& v)
    {
        size_t count = domain_data_getcount();
        if(v.size()!=count)
        {
            Log::log(LOG_ERR,"Map load error. load size%d, config size %d", v.size(), count);
            return false;
        }
    
        if((status&ST_DATAREADY)&&(cities.size()==count))
        {
            Log::log(LOG_ERR,"Map already loaded. status=%d", status);
        }
        else
        {
            cities = v;
            time_t now = Timer::GetTime();
            size_t i = 0;
            //int week=now/604800;
            for(TVector::iterator it=cities.begin(),ie=cities.end();it!=ie;++it,++i)
            {
                DOMAIN_INFO_SERV * p = domain_data_getbyindex(i);
                if(it->level!=p->type)
                    return false;
                if(it->owner)
                {
                    if(it->color==0 || it->color>TERRITORY_NUMBER)
                        it->color = SelectColor(it->owner);
                }
                else
                    it->color = 0;
    
                if(it->battle_time && it->challenger!=0 && it->battle_time<now+600)
                {
                    it->status |= CS_BATTLECANCEL;
                    Log::log(LOG_ERR,"Battle time missed, cancel cityid=%d defender=%d attacker=%d deposit=%d time=%d.",
                            it->id, it->owner, it->challenger, it->deposit, it->battle_time);
                }
                if(it->challenger && !it->battle_time)
                {
                    status |= ST_SETTIME;
                }
                if(it->challenger==0)
                {
                    it->deposit = 0;
                    it->maxbonus = 0;
                    it->cutoff_time = 0;
                }
            //    if((it->bonus_time/604800)==week)
            //    {
            //        status |= ST_SPECIALOK;
            //    }
            }
            status |= ST_DATAREADY;
            SyncMapNotice();
            //通知gfaction加载城战相关帮派信息
            SyncBattleFaction();   
        }
    
        FactionResourceBattleMan::GetInstance()->OnDomainLoadComplete();
        return true;
    }
    Код:
    bool player_title::LoseTitle(TITLE_ID tid)
    {
        if(!IsExistTitle(tid))
        {
            GLog::log(LOG_ERR,"roleid:%d lose a no exist title[%d] \n",_owner->_parent->ID.id, tid);
            return false;
        }
    
        const title_essence* title = world_manager::GetTitleMan().GetTitleEssence(tid);   
       
        if(!title)
        {
            GLog::log(LOG_ERR,"roleid:%d lose a invalid title[%d] \n",_owner->_parent->ID.id, tid);
            return false;
        }
    
        title->DeactivateEssence(_owner);
    
        property_policy::UpdatePlayer(_owner->GetPlayerClass(),_owner);
       
        EraseVectorElement(_delivered_titles,CheckIdFunctor(tid));
        EraseVectorElement(_expire_titles,CheckExpireFunctor(tid));
    
        _owner->_runner->notify_title_modify(tid,0,0);
       
        if(_current_title == tid)
        {
            ChangeCurrTitle(0);
        }
    
        GLog::log(LOG_INFO,"roleid:%d lose title[%d] \n",_owner->_parent->ID.id, tid);
        return true;
    }
    Allow и NEO нравится это.
Черновик сохранён Черновик удалён
Similar Threads
  1. Rovento
    Ответов:
    5
    Просмотров:
    3.695
  2. Дмитрий using
    Ответов:
    1
    Просмотров:
    1.758
  3. New-X
    Ответов:
    6
    Просмотров:
    1.606
  4. Unix
    Ответов:
    4
    Просмотров:
    3.869
  5. loko9988
    Ответов:
    34
    Просмотров:
    6.897
Загрузка...

Поделиться этой страницей