|
Новичкам Информация для всех новичков, новичкам рекомендуется задавать свои вопросы здесь |
|
Опции темы | Поиск в этой теме | Опции просмотра |
20.05.2010, 13:04 | #1 |
Ученый
Регистрация: 15.03.2010
Сообщений: 261
Сказал(а) спасибо: 84
Поблагодарили 257 раз(а) в 96 сообщениях
|
Функция для подсчета количества рангов спелла
Нужна помощь для создания функции которая выдаст общее количество рангов спелла (заклинания)
Набросок (в 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); в теле цикла нужно наращивать счетчик (у нас он 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. |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
[9788][patch] Игнорирование количества игроков на БГ при включённом дебаге. | Anti | Принятые патчи | 1 | 24.04.2010 09:27 |
Каст спелла объектом на нпц | virusav | Новичкам | 9 | 13.03.2010 14:19 |
Сообщения при касте спелла 2764 | virusav | Баг-репорты | 0 | 07.03.2010 21:46 |