Показать сообщение отдельно
Старый 26.12.2010, 11:10   #1
rsa
Почетный флудер
Старожил
 
Аватар для rsa
 
Регистрация: 08.03.2010
Адрес: Мурманск, Россия
Сообщений: 788
Сказал(а) спасибо: 55
Поблагодарили 333 раз(а) в 151 сообщениях
Записей в дневнике: 1
rsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранитаrsa Как самоцвет среди гранита
По умолчанию Аура 293 работает только частично.

Сабж собственно.
Все манипуляции по замене спеллсета проводятся корректно. Однако при замене спеллов на отсутствующие в спеллбуке мы имеем следующее (спасибо Selector за репорт):
Код:
2010-12-25 23:10:19 ERROR:World: Player 343512169 casts spell 70946 which he shouldn't have
это обусловлено следующими строками в SpellHandler.cpp
Код:
    if (mover->GetTypeId()==TYPEID_PLAYER)
    {
        // not have spell in spellbook or spell passive and not casted by client
        if (!((Player*)mover)->HasActiveSpell (spellId) || IsPassiveSpell(spellInfo))
        {
            sLog.outError("World: Player %u casts spell %u which he shouldn't have", mover->GetGUIDLow(), spellId);
            //cheater? kick? ban?
            recvPacket.rpos(recvPacket.wpos());                 // prevent spam at ignore packet
            return;
        }
    }
то есть если мы добавляем спеллы не имевшиеся ранее в спеллбуке - то мы не сможем его скастить.
решение (хак! реальную проверку делать пока не стал, не уверен в ее нужности)
https://github.com/rsa/mangos/commit...317cdb5ce84d8f
rsa вне форума   Ответить с цитированием