Ru-MaNGOS

Вернуться   Ru-MaNGOS > Документация > Новичкам

Важная информация

Новичкам Информация для всех новичков, новичкам рекомендуется задавать свои вопросы здесь

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.05.2010, 13:04   #1
Insider42
Ученый
 
Регистрация: 15.03.2010
Сообщений: 261
Сказал(а) спасибо: 84
Поблагодарили 257 раз(а) в 96 сообщениях
Insider42 Как самоцвет среди гранитаInsider42 Как самоцвет среди гранитаInsider42 Как самоцвет среди гранита
По умолчанию Функция для подсчета количества рангов спелла

Нужна помощь для создания функции которая выдаст общее количество рангов спелла (заклинания)

Набросок (в spellmgr.h)
Код:
        uint8 SpellRanksCount(uint32 spell_id) const
        {
            uint8 count = 0;
            SpellChainMap::const_iterator i = mSpellChains.find(spell_id);
            for (uint32 i = mSpellChains.begin(); mSpellChains.end() < i; i++)
                count+=i;

            return count;
        }
Я совсем не шарю в этих циклах, нужна помощь.

Должно работать так:
Допустим есть талант Improved Water Shield, у него 3 ранга
Ид 1 ранга - 16180, Ид 2 ранга 16196, Ид 3 ранга 16198
Мы даем функции любой из них, она же ищет к какому Chain относится этот спелл и обращается к нему, у нас это делает
Код:
SpellChainMap::const_iterator itr = mSpellChains.find(spell_id);
далее нам нужно загнать это в цикл от первого ранга до последнего (получается цикл от 1 до 3х, т.к. 3 ранга в нашем случае),
в теле цикла нужно наращивать счетчик (у нас он count),
функция должна возвращать счетчик (3 ранга таланта - вернет цифру 3)...

К сожалению, оно не компилируется, т.к. я уверен, что я криво набросал :/
вот такая ошибка
Код:
2>c:\mang\src\game\SpellMgr.h(914) : error C2440: 'initializing' : cannot convert from 'std::list<_Ty,_Ax>::_Const_iterator<_Secure_validation>' to 'uint32'
2>        with
2>        [
2>            _Ty=std::pair<const uint32,SpellChainNode>,
2>            _Ax=std::allocator<std::pair<const uint32,SpellChainNode>>,
2>            _Secure_validation=false
2>        ]
2>        No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called

Последний раз редактировалось Insider42; 20.05.2010 в 13:30.
Insider42 вне форума   Ответить с цитированием
 


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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[9788][patch] Игнорирование количества игроков на БГ при включённом дебаге. Anti Принятые патчи 1 24.04.2010 09:27
Каст спелла объектом на нпц virusav Новичкам 9 13.03.2010 14:19
Сообщения при касте спелла 2764 virusav Баг-репорты 0 07.03.2010 21:46


Текущее время: 22:51. Часовой пояс GMT +3.


ru-mangos.ru - Русское сообщество MaNGOS
Главная цель проекта MaNGOS - обучающая, поэтому разрешается использовать исходный код и собранную программу только для образовательных целей.
Вы не можете использовать MaNGOS в коммерческих целях, а также не разрешается устанавливать публичные серверы на базе MaNGOS.
Любое копирование материалов, информации в любом виде без указания источника - форума Ru-MaNGOS будет считаться нарушением авторских прав и нарушением Уголовного Кодекса РФ, ст. 146 ст. 147.
Перевод vBulletin: zCarot