Ru-MaNGOS

Ru-MaNGOS (http://mangos.ytdb.ru/index.php)
-   Запросы (http://mangos.ytdb.ru/forumdisplay.php?f=54)
-   -   [dev]Sunwell Plateau (http://mangos.ytdb.ru/showthread.php?t=4853)

Mayss 04.07.2011 13:56

[Dev]Sunwell Plateau
 
Всем Привет!.
Нашёл у себя скрипты которые "где-то" скачал ранее и не стал их прикручивать, сейчас же откопал их и столкнулся с тем что они устарели.. что не удивительно...
Несколько проблем с которыми мне пришлось столкнутся это.

boss_kiljaeden.cpp
Код:

        //FireBloom Damage WorkArround
        if (m_uiFireBloomCheck < diff)
        {
            if(m_uiFireBloomCount < 10)
                for(uint8 i=0; i<5; ++i)
                {
                    if(Unit* FireTarget = Unit::GetUnit(*m_creature, m_uiFireBloomTarget[i]))
                        FireTarget->CastSpell(FireTarget, SPELL_FIREBLOOM_EFF, true);
                }
            ++m_uiFireBloomCount;
            m_uiFireBloomCheck = 2000;
        }else m_uiFireBloomCheck -= diff;

В 10385 Unit::GetUnit был переписал, и теперь я не знаю как правильно перевести под существующие исходники.
Пример:
Код:

if(Unit* FireTarget = Unit::GetUnit(*m_creature, m_uiFireBloomTarget[i]))
на
Код:

if (Unit* FireTarget = m_creature->GetMap()->GetCreature(m_uiFireBloomTarget[i]))
Тогда выдаёт что "error:не существует подходящего конструктора для преоброзования из "unit64" в "ObjectGuid" :swoon2:

Тоже и в boss_eredar_twins.cpp
Код:

        if(m_uiConfCount = 10)
        {
            if(Unit* pPlayer = Unit::GetUni(*m_creature, m_uiConfTargetGUID))
                pPlayer->RemoveAurasDueToSpell(AURA_CONF,0);
            ++m_uiConfCount;
        }

Если
Код:

if(Unit* pPlayer = Unit::GetUni(*m_creature, m_uiConfTargetGUID))
переписать на
Код:

if (Unit* pPlayer = m_creature->GetMap()->GetCreature(m_uiConfTargetGUID))
Делается под 2.4.3 и будет добавлено по завершению сюда
Спасибо за помощь, написал сюда уже не зная как сделать правильно :resent:

MaxXx2021 04.07.2011 18:47

Цитата:

Сообщение от Mayss (Сообщение 23849)
Всем Привет!.
Нашёл у себя скрипты которые "где-то" скачал ранее и не стал их прикручивать, сейчас же откопал их и столкнулся с тем что они устарели.. что не удивительно...
Несколько проблем с которыми мне пришлось столкнутся это.

boss_kiljaeden.cpp
Код:

        //FireBloom Damage WorkArround
        if (m_uiFireBloomCheck < diff)
        {
            if(m_uiFireBloomCount < 10)
                for(uint8 i=0; i<5; ++i)
                {
                    if(Unit* FireTarget = Unit::GetUnit(*m_creature, m_uiFireBloomTarget[i]))
                        FireTarget->CastSpell(FireTarget, SPELL_FIREBLOOM_EFF, true);
                }
            ++m_uiFireBloomCount;
            m_uiFireBloomCheck = 2000;
        }else m_uiFireBloomCheck -= diff;

В 10385 Unit::GetUnit был переписал, и теперь я не знаю как правильно перевести под существующие исходники.
Пример:
Код:

if(Unit* FireTarget = Unit::GetUnit(*m_creature, m_uiFireBloomTarget[i]))
на
Код:

if (Unit* FireTarget = m_creature->GetMap()->GetCreature(m_uiFireBloomTarget[i]))
Тогда выдаёт что "error:не существует подходящего конструктора для преоброзования из "unit64" в "ObjectGuid" :swoon2:

Можете снести в корзину и поставить спелу макс таргет в ядре 5 и не надо никакие выборы юнитов.

zergtmn 04.07.2011 20:18

у ObjectGuid есть конструктор из uint64, но его надо вызывать явно:
Код:

ObjectGuid(m_uiFireBloomTarget[i])
Советую посмотреть в SD2 как они переходили от uint64 гуидов к ObjectGuid.


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

ru-mangos.ru - Русское сообщество MaNGOS